Bath underlined their Guinness Premiership intentions by recording a full-blooded 19-9 at Ashton Gate on Sunday - the visitors' first away win over their arch-rivals in Bristol in a decade.
Bath remain third in the table and are now just three points adrift of Gloucester, the league leaders, and they have a game in hand.
It was Olly Barkley's left boot made the difference in a typically tense and tight West Country derby.
His four successful penalties and conversion of Andrew Higgins's late try trumped three goals from Ed Barnes.
Barkley's fourth successful penalty midway through the second period put Bristol on the back foot, before Higgins sealed the deal.
It was Bristol's first home league defeat since Leicester toppled them at the Memorial Stadium almost six months ago.
Bristol gave as good as they got in the forward exchanges, but Bath's superior pace behind the scrum finally told, courtesy of Higgins sprinting over when Bristol's defensive resilience finally subsided.
Bath's former England lock Danny Grewcock missed the game after his partner gave birth last night, but current internationals Lee Mears, Matt Stevens, Steve Borthwick and Michael Lipman all returned from Test duty.
Lipman made a 100th Bath appearance, lining up against his former club as the visitors targeted their first victory in Bristol since 1998.
Bristol boss Richard Hill put England hooker Mark Regan on the bench - in-form New Zealander Scott Linklater was preferred - while there were call-ups for lock Gareth Llewellyn and number eight Andrew Blowers.
Bath dominated early territory, moving ahead through an eighth-minute Barkley penalty, and although Barnes quickly landed an equalising strike, Bristol remained under pressure.
Barkley and Barnes exchanged further penalties, yet Bath - despite losing injured prop David Barnes - ensured play remained deep inside Bristol's half.
Matt Banahan should have scored wide out after flanker Andy Beattie's pass freed him in space, but an initial fumble was followed by a knock-on and Bristol escaped.
Bath were then denied after a slick handling move was ruined when referee David Rose ruled full-back Joe Maddock's pass to wing Michael Stephenson had drifted forward.
It appeared a marginal call by the official, and Bristol prospered, moving ahead for the first time as Barnes completed his penalty hat-trick with the final kick of a disappointing half.
Bath, who lost a bloodied Lipman just before the break, should have been comfortably clear, yet Bristol's trademark doggedness and commitment up-front shaded the contest.
Lipman returned for the second period, and a Barkley penalty following sustained pressure made it 9-9 on 48 minutes.
Bath though, were reduced to 14 men in the 53rd-minute when centre Alex Crockett was sin-binned for illegally holding back Bristol wing David Lemi.
But referee Rose appeared to caution the wrong man, with Barkley looking to have halted Lemi, not Crockett.
Bristol sacrificed the kickable penalty that resulted, preferring to maintain set-piece pressure through their forwards, and only desperate last-ditching tackle by Shaun Berne and Michael Classens kept out Lemi in the corner.
It was an admirable effort by Bristol, but they then fell victim to another contentious Rose ruling.
Flanker Joel El Abd powered over unopposed from the back of a five-metre line-out, only to see Rose wipe out the try because of offside.
Bristol deserved better, yet Richard Hill's men were still in the contest entering a final quarter that started when Barkley rifled over a 40-metre penalty.
A punishing contest saw Bath lose flanker Andy Beattie - he returned to the dug-out on crutches with his knee heavily strapped - and Barnes's replacement Duncan Bell.
Bell's exit 10 minutes from time meant Barnes returning to the fray, and Bath confirmed the points through Higgins' try that Barkley converted.
Barkley's performance was bitter-sweet for the visiting fans - Premiership leaders Gloucester will benefit from his services next season following confirmation last week of his six-figure move to Kingsholm.
Pens: Barnes 3
Pens: Barkley 4
Yellow card(s): Crockett (Bath) - holding back opponent, 53
Bristol: 15 Luke Arscott, 14 Anthony Elliott, 13 Rob Higgitt, 12 David Hill, 11 David Lemi, 10 Ed Barnes, 9 Brian O'Riordan, 8 Andrew Blowers, 7 Joe El Abd, 6 Matt Salter (c), 5 Sean Hohneck, 4 Gareth Llewellyn, 3 Darren Crompton, 2 Scott Linklater, 1 Alex Clarke.
Replacements: 16 Mark Regan, 17 Dave Hilton, 18 Roy Winters, 19 Alfie To'oala, 20 Haydn Thomas, 21 Jason Strange, 22 Sam Cox.
Bath: 15 Joe Maddock, 14 Michael Stephenson, 13 Alex Crockett, 12 Shaun Berne, 11 Matt Banahan, 10 Olly Barkley, 9 Michael Claassens, 8 Daniel Browne, 7 Michael Lipman, 6 Andy Beattie, 5 Danny Grewcock, 4 Steve Borthwick (c), 3 Matt Stevens, 2 Lee Mears, 1 David Barnes.
Replacements: 16 Pieter Dixon, 17 Duncan Bell, 18 Peter Short, 19 Jonny Faamatuainu, 20 Mike Baxter, 21 Tom Cheeseman, 22 Andrew Higgins.
Referee: David Rose
Touch judges: Stuart Terheege, David Kurk
Assessor: Paul Bridgman
Television match official: Laurie Bryant