Three tries in 10 second-half minutes saw Northampton beat Gloucester to put more pressure on the bottom side.
Taqele Naiyaravoro's 26th-minute effort was the only try of a gritty first half which saw George Furbank and Santiago Carreras come off after a head clash.
Willi Heinz's try extended Gloucester's 12-11 half-time lead but a Rory Hutchinson try and two from Shaun Adendorff saw Saints take control.
Matias Alemanno then went over to earn Gloucester a losing bonus point.
Saints move up to sixth place in the Premiership while Gloucester stay three points behind 11th-placed Worcester after they got a losing bonus point against Exeter.
An early Dan Biggar penalty for Saints was cancelled out by a trio of three-pointers from Billy Twelvetrees as Gloucester, who, inspired by the return of England scrum-half Willi Heinz after injury, had the better of the early moments.
But Saints, who had not played since Boxing Day after a Covid-19 cancellation, went ahead after 10 phases on the Cherry and Whites line ended with the ball being sent out wide where Naiyaravoro had an overlap and walked in.
They could have gone further ahead but David Ribbans was held up over the line before a sickening collision between Furbank and Carreras as they jumped to try and catch a box kick left both players unconscious before Biggar and Twelvetrees each added another penalty.
The hosts started the second period brightly as Heinz went over under the posts after a good break by Ollie Thorley, but that score kicked Saints into action as they exposed Gloucester's defensive frailties.
Hutchinson went in after some quick hands, then Adendorff grabbed his pair of tries - the first an unchallenged walk in from a Hutchinson cross-field kick and then a dive into the left corner as Saints went almost the entire length of the field in double-quick time.
Alemanno's close-range try in the closing moments secured what could be a crucial losing bonus point for Gloucester as they lost for a fifth successive league match.
Gloucester head coach George Skivington told BBC Radio Gloucestershire:
"I think early on particularly, when we had some good momentum, Saints did a good job of targeting our lineout.
"Set piece has been a real strong point for us and they took the approach to take that away and they did a really good job of that and we got more flustered than I would have liked and I think that cost us capitalising on any pressure that we had.
"It was really good and then a couple of people clocked off and Saints are too good of an attacking team for that and just found the obvious gaps that we gave right to them.
"I'm not sure why we're clocking off, it's not necessarily been a consistent thing, but it's something we'll have to look at."
Northampton forwards coach Phil Dowson told BBC Radio Northampton:
"I think it was a good team performance.
"I thought first half we made them work incredibly hard in defence and I thought we put them under a ton of pressure and that comes to fruition in the second half.
"I thought the last 10 minutes we didn't manage as well as we could, lost a couple of lineouts and lost the ability to exert pressure and gave them an opportunity in the game.
"The most frustrating part of that game was the last 10 minutes, I thought the rest of it - the effort, the application and the detail - were all outstanding."
Gloucester: Woodward; Carreras, Twelvetrees, Atkinson, Thorley; Evans, Heinz; Rapava-Ruskin, Walker, Balmain, Garvey, Alemanno, Reid, Ludlow (capt), Ackermann.
Replacements: Gleave, Ford-Robinson, Knight, Craig, Gibson, Chapman, Seabrook, Moyle.
Northampton: Furbank; Proctor, Hutchinson, Francis, Naiyaravoro; Biggar, Mitchell; Waller (co-capt), S Matavesi, Hill, Ribbans, Ratuniyarawa, Isiekwe, Ludlam (co-capt), Adendorff.
Replacements: Haywood, Van Wyk, Painter, Moon, Coles, James, Dingwall, Freeman.
Referee: Karl Dickson (RFU).