Gloucester fought back from an alarming early deficit to make it five Aviva Premiership games unbeaten and extend Bath’s miserable losing run at Kingsholm.
Bath made a powerful start in pursuit of a first win on Gloucester soil since 2006 after fly-half Stephen Donald converted his own first-minute try and then kicked a penalty.
But Gloucester responded from 10-0 adrift through two Freddie Burns penalties, before he added the extras to full-back Rob Cook’s 50th-minute touchdown and then slotted a late drop-goal.
Bath will wonder how they let things slip, especially given their early set-piece control, yet Gloucester were in no mood to relent once they set the scoreboard moving.
Burns’ kicking contribution made the difference as Gloucester are threatening a place in the play-offs at this early stage of the season, but Bath remain an erratic combination that has yet to settle under the coaching direction of Gary Gold and Toby Booth.
England No 8 Ben Morgan returned from injury for Gloucester, while centre Henry Trinder and hooker Huia Edmonds also started and New Zealand scrum-half recruit Jimmy Cowan was on bench duty as the home side looked to make it five Premiership games unbeaten.
Bath made a stunning start, claiming the season’s quickest Premiership try after just 32 seconds when Donald made a brilliant 40-metre break.
The New Zealander’s sold Gloucester centre Billy Twelvetrees an audacious dummy, then sprinted clear for an opportunist touchdown that he also converted.
Gloucester were rocked on their heels, and they almost fell further behind 13 minutes later when brilliant work along the touchline by Bath wing Kyle Eastmond looked to have created a try for full-back Nick Abendanon.
But television match official David Grashoff rightly ruled that Eastmond had a foot on the touchline, and Gloucester escaped.
Gloucester, though, could not get into the game, with Bath enjoying scrummaging supremacy through the efforts of their Wales international loosehead Paul James and dictated the flow accordingly.
Donald booted a 21st-minute penalty to extend Bath’s lead, but Gloucester secured enough territory late in a low-key half that reaped two penalty chances which Burns accepted.
Bath trooped off just four points clear, yet they will wonder why it was not a more convincing advantage given how Gloucester had lacked fluency or enjoyed any sustained spells of pressure.
Gloucester had chances to make life more difficult for Bath early in the second period, but Burns missed a penalty before brilliant defensive work by visiting wing Tom Biggs prevented a certain try.
Biggs’ opposite number Shane Monahan set off on a superb angled run towards Bath’s line, but Biggs – despite conceding considerable height and weight advantage – got underneath his opponent and prevented the touchdown.
Gloucester, though, only had to wait another three minutes before they breached Bath’s defence, and this time it was Monahan’s fellow wing James Simpson-Daniel who did the damage.
Cropping up in midfield, Simpson-Daniel fixed the Bath defence sufficiently to create space out wide, and former Cornish Pirates player Cook touched down.
Burns slotted the touchline conversion, and Gloucester held a three-point lead after fighting back impressively.
Bath looked to re-establish themselves in the game, but Gloucester possessed sufficient game-management skills to retain control, and Burns’ 74th-minute drop-goal sealed the deal.
Gloucester: Cook, Monahan, Trinder, Twelvetrees, Simpson-Daniel, Burns, Robson, Wood, Edmonds, Harden, Savage, Hamilton, Kalamafoni, Qera, B. Morgan. Replacements: Cowan for Robson (58), Britton for Wood (61), Murphy for Edmonds (61), Knight for Harden (58), James for Savage (45). Not Used: Evans, Tindall, M. Thomas.
Scorers: Tries – Cook. Cons – Burns. Pens – Burns 2. Drop Goals – Burns.
Bath: Abendanon, Eastmond, Hipkiss, Vesty, Biggs, Donald, Claassens, James, Mears, Wilson, Day, Attwood, Fearns, Skirving, Taylor. Replacements: Cuthbert for Hipkiss (69), Devoto for Donald (77), McMillan for Claassens (51), Catt for James (69), Batty for Mears (63), Perenise for Wilson (63), Spencer for Day (60), Skuse for Taylor (52).
Scorers: Tries – Donald. Cons – Donald. Pens – Donald.
Referee: Dave Pearson (RFU).