Bristol ended a run of four straight defeats to keep alive their hopes of a top-four finish and complete a league double over rock-bottom Saints.
Northampton remain rooted to the foot of the GUINNESS PREMIERSHIP table as a result, after they were denied a try-scoring bonus point.
Bristol head coach Richard Hill made nine changes from the side that lost at Saracens a week ago, including rookie fly-half Danny Gray for his first GUINNESS PREMIERSHIP start of the season in preference to former Wales A half-back Jason Strange.
Scrum-half Shaun Perry was back in the starting line-up after England duty to partner Gray while ex-Scotland prop David Hilton was making his 100th league appearance for the club.
Scotland winger Sean Lamont came straight into the Northampton line-up as one of two changes in personnel.
The Saints missed an early opportunity to get off to a flying start as fly-half Stephen Myler, with the wind at his back, was off target with a 40-metre penalty from the left touchline.
Bristol then got in to the game and were awarded a penalty from a five-metre scrum.
They opted for another scrum and worked the ball across the field with skipper Gareth Llewellyn coming close before it was worked back into the middle where centre Rob Higgitt, recalled to the starting line-up in place of Sam Cox, went crashing over to the line.
Gray added the extra points and a 25-metre penalty, from the left of the posts, after the Saints were penalised at the scrum.
But Saints came back midway through the half as Myler chipped across field to right wing Sean Lamont. He tapped the ball into the waiting arms of left wing Ben Cohen to score.
Myler missed the touchline conversion and was again off target on the half hour with a 30-metre kick after Bristol had failed to retreat 10 metres when Cohen took a quick tap penalty.
Gray had no such problems with a 30-metre kick after centre Carlos Spencer took Perry out at the base of the ruck.
Gray missed two drop-goal attempts before slotting his third attempt neatly through the uprights after full-back Bernardo Stortoni had made a storming break up the middle, shrugging off a couple of half-hearted tackles to give Bristol a deserved 16-5 interval lead.
Saints started the second half strongly with Spencer charging clear from the breakdown, before Lamont broke from a maul to catch the Bristol defence napping and score under the posts to ease the conversion kick for Myler, who took the visitors within four points.
But Bristol hit back quickly, mounting a series of drives until number eight Andrew Blowers, playing against one of his former clubs, picked up from a ruck 15 metres out before he slipped the ball to Hilton who crossed for Bristol’s second try. Gray duly converted and added a penalty minutes later.
Reihana came close before Matias Cortese went over then line, but referee David Rose called on the match video referee David Matthews before awarding the try.
Spencer, who had taken over the kicking duties from Myler, added the conversion from out wide.
With less then 10 minutes remaining Bristol again applied the pressure and the forwards drove over the line with lock Roy Winters appearing to get the touchdown.
Northampton, searching for a much-needed bonus point, threw everything they could into attempting to breach the Bristol line, but all to no avail.