Bristol produced an excellent defensive display to beat neighbours Bath - their first win at The Rec in 14 years.
Excellent early tries for Bristol from Chris Vui and Alapati Leiua were split by a Rhys Priestland penalty for Bath and the Welsh fly-half kicked another three points just before the break.
Harry Randall got Bristol's third try with 18 minutes left of an attritional second half.
Will Chudley struck back almost instantly but Bristol held on.
The win - Bristol's first at their West Country rivals since a 19-12 victory in November 2006 - sees the Bears move above Northampton into third place in the Premiership, while Bath stay in fifth.
The Bears got off to a fantastic start as an excellent passing sequence ended with Luke Morahan's lovely step inside to throw his defender before putting Vui clear to go over in the left corner.
The second try was equally as good - Callum Sheedy dummied his way through the lines before landing a perfectly-weighted kick into Leiua's arms and he went in unchallenged.
The Bears then held out superbly as Bath spent eight minutes trying to get over their line, even after Joe Joyce was sent to the sin bin after stopping a Bath foray while offside, before Priestland added a second penalty just before the break.
Bristol's defence again stood firm after the interval and were further rewarded when Randall crossed after the visitors had got good field position thanks to an excellent run by Morahan which needed a try-saving tackle by Tom Homer.
Bath only crossed the line after Wales scrum-half Rhys Webb - making his debut after arriving on a short-term deal for the rest of this season - was replaced with 17 minutes left by Chudley, and it took just two minutes for the former Exeter scrum-half to go over after a good break by Priestland.
Sheedy missed a penalty with 10 minutes left but despite Bath keeping hold of the ball, they could not find a way to create another try-scoring chance.
Bath director of rugby Stuart Hooper told BBC Radio Bristol:
"I'm disappointed for the lads with the result, it hurts.
"We applied an awful lot of pressure to them, particularly in the second half.
"We scored one good try and gave one loose one away and we just couldn't get over the line in the crucial moments when we should have done.
"The work the lads are doing is incredible, they put the effort in every single day and this Premiership is one score in a game, one point in a league, that's what it is, so it's not back to the drawing board, it's keep working and keep developing and chase our next league points at Exeter."
Bristol director of rugby Pat lam told BBC Radio Bristol:
"I'm very proud, very pleased, very happy for the fans.
"It's 14 years since Bristol's won down here in a Premiership game and 14 years since we've beaten Bath twice in a season, so it's a reason for all our community, wherever they are around the world, to celebrate and enjoy because it emphasises how tough it is.
"It was a tough game, tough conditions, but we prepared well during the week and the boys got their rewards for it.
"We had a really physical week last week and it came back and we got the rewards for it."
Bath: Homer; Rokoduguni, Willison, Matavesi, McConnochie; Priestland, Webb; Boyce, Walker, Stuart, McNally, Stooke, Williams, Louw (c), Faletau.
Replacements: Doughty, Obano, Judge, Ellis, Bayliss, Chudley, Burns, Wright.
Bristol Bears: C Piutau; Morahan, O'Conor, Bedlow, Leiua; Sheedy, Uren; Thomas, Malton, Thiede, Holmes, Joyce, Vui, Luatua (c), Crane.
Replacements: Capon, Woolmore, Lahiff, Hughes, Hamilton, Randall, Madigan, Protheroe.
Referee: Ian Tempest.