Gallagher Premiership: Bath v Bristol
Bath: (17) 20
Tries: Lawrence, Spencer Pens: Russell 2 Cons: Russell 2
Bristol: (7) 19
Tries: Bradbury, Lane, Malins Cons: Sheedy 2
Bath came out on top by one point against Bristol in a pulsating west country derby at a rain-soaked Rec.
Magnus Bradbury opened the scoring for Bristol but Bath hit back through Ollie Lawrence and Ben Spencer.
Rich Lane and a try from Max Malins on his second Bristol debut swung the score the Bears' way but a Finn Russell penalty won it for Bath.
The result confines Bristol to their fourth Premiership loss in a row, while Bath move up to second.
Seven of the last 10 meetings between these neighbours were won by less than seven points and this match followed suit, although it was Bath who took the spoils having lost both games last season.
Bristol started on the front foot as a sloppy penalty for offside pinned Bath inside their 10-metre line in the opening stages.
The Bears moved the ball quickly and edged towards the posts where Bradbury went over from a pick and drive for the first score.
Russell's first penalty got the hosts on the board and Bath gradually started to show their quality.
After scoring two tries in their first derby win a week ago against Gloucester, Lawrence continued his storming form by breaking forward only to be dragged down in sight of the line.
He did not have to wait long for a try as Bath moved the ball wide swiftly from a line-out, Russell offloaded and the England centre charged through two defenders and held off a third to power over.
Bath instantly collected the ball from the restart and Lawrence was off again, running at the Bears defence with speed to cut inside, before Redpath released Spencer to sprint to the corner and grow the advantage to 10 points.
Bristol's inconsistency has shown this season and they went in at the break having left opportunities on the field.
Virimi Vakatawa darted between two defenders only to pass to opposing forward Miles Reid, but the golden chance came just before the break as Piers O'Conor failed to play in Lane in a two-on-one overlap and Bristol then lost the ball as they went through the forwards instead.
Visiting boss Pat Lam was under no illusions during the week how significant the result could be for his side and they came back out rejuvenated as the rain poured down.
Callum Sheedy picked out Lane with a crossfield kick to score in acres of space and narrow the gap to three, and then minutes after coming on from the bench Malins put Bristol 19-17 up.
Russell saw a pass picked off by Gabriel Ibitoye and a pitch-perfect bit of interplay between the winger, Malins and Harry Thacker saw circles thrown around Bath before the full-back ran into the corner to score.
A second Russell mistake saw him then hook a seemingly simple penalty wide and Sheedy also missed a kick from the tee for Bristol.
Russell had a second chance to make amends with 10 minutes left on the clock and he took it to sneak Bath in front. Sheedy's own late penalty fell short as Bath held on for their fourth win in six.
Bath director of rugby Johann van Graan told BBC Radio Bristol:
"One point is the biggest and smallest margin in sports.
"I thought it was a good game of rugby. I thought Bristol started like a house on fire, a very good try and then kept the ball, we couldn't get our hands on the ball.
"We turned them straight away first time we could, took the three points, I thought we got some real good momentum.
"Then when the rain came, it became a tactical battle and it's a real grow for us to pull this through."
Bristol director of rugby Pat Lam told BBC Radio Bristol:
"We started the game exactly how we wanted, we came at them, scored, got ahead and then they got on a purple patch.
"We had enough chances to go in ahead at half-time but we spoke about coming back and we did. We pegged them at their line and finally got over and got back in the game, got the lead.
"I'm proud of the boys because we keep fighting and if we lose by one - was there two points out there for us to win the game? 100%.
"We're disappointed we didn't take some of those points and it just shows we're not far off."
Bath: Gallagher; Cokanasiga, Lawrence, Redpath, Muir; Russell, Spencer (c); Obano, Dunn, Stuart, Lee-Warner, Ewels, Reid, Underhill, Coetzee.
Replacements: Annett, Du Toit, Jonker, Van Velze, Barbeary, Schreuder, Bailey, Ojomoh
Bristol: Lane; O'Conor, Vakatawa, Janse van Rensburg, Ibitoye; Sheedy, Randall (c); Genge, Oghre, Lahiff, Holmes, Caulfield, Batley, Thacker, Bradbury.
Replacements: Capon, Woolmore, Sinckler, Heenan, Thomas, Marmion, Williams, Malins
Referee: Christophe Ridley