Northampton Saints won at Bristol for the first time since 2018 with a four-try bonus-point victory.
Jake Kerr scored early for the Bears, before Dan Biggar and Callum Sheedy shared four penalties to make it 13-6.
Back-to-back tries from Paul Hill and Tommy Freeman gave Saints the half-time lead, but Alapati Leiua levelled it after the restart.
Saints then stretched unassailably ahead, as Freeman added his second and George Furbank secured the bonus point.
In five of the previous six times these two sides had met, the result had come down to a margin of one score or less. The script seemed to be the same for the first 60 minutes, with no more than seven points in it once again.
It took the home side just three minutes to open the scoring, with Kerr getting the ball down from a driving maul after a five-metre line-out.
But what followed was a stop-start opening 20 minutes, dominated by errors on either side rather than free-flowing play.
Biggar got Saints on the board with back-to-back penalties to bring them within one point, before his compatriot and opposite number Sheedy kicked his own two penalties to stretch Bristol's lead to 13-6.
It was Northampton though who began dominating possession and territory and they were given their just rewards when Furbank made a break from which prop Hill scored at close range.
Two minutes later, Saints broke again with Alex Mitchell this time laying the ball off to Freeman to put the visitors ahead 20-13.
Bristol were left to rue missed chances having twice got the ball within five metres of the Saints line, and right on half-time they came away empty-handed again after being held up over the line.
Just like they did at the start, Bristol came out quickly for the second half. Charles Piutau made a darting run up to half-way which helped unleash Leiua, who raced through a gap to make it 20-20.
But errors crept back in for Bristol and with Saints overwhelmingly dominating at the scrum, Biggar kicked his third penalty before Freeman added his second try.
Less than four minutes later, a dummy from Mitchell sent Furbank over the in the corner to secure Saints the bonus point.
A fifth try for Saints was ruled out by the TMO for a forward-pass, but there was already no way back for Bristol as a fourth Biggar penalty tied up Northampton's first Premiership win in three matches.
Bristol director of rugby Pat Lam told BBC Radio Bristol:
"We started both halves very well, however it was the first time in a long time that our scrum has been dominated like that.
"We spent a lot of time on defence, you get a great place to launch, penalty, you're down 40, 50 metres, you're defending, defending, you turn the ball over, have a scrum, turnover, scrum, penalty.
"It's a big part of the game and if you're not dominant there - we have been there for many years - it was a big factor in how we could play the game.
"We'll go back and look at it and work out what were the issues and get it sorted.
"Obviously you're missing Kyle (Sinckler) and Jonny (Afoa) - that's our front line tightheads. They should be back next week, they'll make a difference. But it's still a collective responsibility by everybody."
Northampton director of rugby Chris Boyd said:
"I am very pleased to get five points. It is the first time we have won here since 2018. The last few times we have played Bristol, we have been in positions to win the game but they finished really strongly on us.
"So to have to come back from a slow start in the game and a slow start to the second half and wrestle the initiative and keep control was very pleasing.
"Five points ticks the box from an outcome point of view, and we are pretty happy with the performance.
"We talked before the game and at half-time that we would get enough opportunities as long as we kept knocking on the door."
Bristol: C Piutau; Fricker, O'Conor, Leiua, Purdy; Sheedy, Uren; Woolmore, Kerr, Lahiff, Joyce, Vui, Jeffries, Heenan (capt), Harding.
Replacements: Capon, Y Thomas, Kloska, Hawkins, D Thomas, Whiteley, Bedlow, Adeolokun.
Sin-bin: Kloska (65)
Northampton: Furbank; Freeman, Proctor, Dingwall, Skosan; Biggar, Mitchell; Waller, Fish, Hill, Ribbans, Moon, Lawes, Ludlam (capt), Augustus.
Replacements: Matavesi, Iyogun, Carey, Ratuniyarawa, Wilkins, James, Hutchinson, Gillespie.
Referee: Karl Dickson (RFU).