Gloucester secured their first away Premiership win since January in a tense 21-17 victory against Bath in the West Country derby.
A brace from Matias Alemanno and one try from Santiago Socino helped Gloucester to a 14-point half-time lead, as Miles Reid kept Bath in touch.
Tom Dunn's try reduced the deficit before Niall Annett cut it to four points as Bath dialled up the pressure.
But Gloucester held firm to consign Bath to their fifth consecutive defeat.
Winless Bath were keen to banish memories of the record 64-0 whitewash they suffered at Kingsholm last season, in a derby that dates back to 1882.
The hosts have tended to start strongly this season but been unable to turn territory into points, and the trend continued as two early attacking line-outs came to nothing.
By contrast, Gloucester's driving maul appears ever more effective and they made their set-piece prowess count again. Their first attacking line-out saw Alemanno pile over, and with Bath prop Juan Schoeman sent to the sin-bin, Socino followed suit instantly from another line-out drive.
When Cherry and Whites number eight Albert Tuise became the second player yellow-carded, Bath captain Dunn cleverly took a quick penalty to take the hosts within a metre before Reid bundled over.
However, too often in the first half Bath caused their own problems. Four of their seven line-outs were lost or stolen, one of which Gloucester pounced on to set up Alemanno's second try.
Yet with Gloucester scrum-half Ben Meehan in the bin for a high tackle, the visitors started the second half penned inside their own 22. Bath finally made their advantage count seconds before Meehan's return, as Dunn scored from close range.
Bath boss Johan van Graan said he wanted to see a full 80-minute performance from his side and the hosts' pressure did not relent as Gloucester saw minimal possession.
Replacement hooker Annett scored Bath's third try from another driving maul, but a second missed conversion from Orlando Bailey kept Bath trailing by four.
The momentum was all with the hosts approaching the final 10 minutes as the crowd sensed a first victory of the season.
But despite making three times more passes, almost triple the number of carries and gaining 510m to Gloucester's 183, Bath could not break the visitors' defence again as Gloucester held on for their third consecutive win at The Rec.
Bath: Gallagher, Cokanasiga, Lawrence, Redpath, Hamer-Webb, Francis, Schreuder; Schoeman, Dunn (c), Stuart, Attwood, Roux, Ellis, Reid, Merigan.
Replacements: Annett, Cordwell, Coetzee, Richards, De Carpentier, Green, Bailey, Butt.
Sin bin: Juan Schoeman (19 mins)
Gloucester: Evans, Rees-Zammit, Kveseladze, Atkinson, Carreras, Hastings, Meehan; Rapava-Ruskin, Socino, Balmain, Clarke, Alemanno, Ackermann, Ludlow (c), Tuisue.
Replacements: Singleton, Knight, Ford-Robinson, Jordan, Reid, Chapman, Reeves, May.
Sin bin: Albert Tuisue (23 mins), Ben Meehan (40 mins), Ruan Ackermann (62 mins)
Referee: Tom Foley