Saints shipped five tries as their four-match winning streak came to an end at Kingsholm.
Jim Mallinder's were porous defensively throughout and ruthless Gloucester took full advantage to record a 29-24 victory.
Saints were leading 17-15 with 23 minutes to go, but they imploded as they presented Gloucester with two tries that secured them a bonus-point success.
A Mike Haywood effort 10 minutes from time did give the away side hope, but the Cherry and Whites managed to cling on as they maintained their 100 per cent home record this season.
Gloucester had gone in ahead at half-time thanks to two Henry Trinder tries, with Jamie Gibson's effort and Harry Mallinder's conversion all Saints had to show for their efforts.
In an ebb and flow game, often short of quality, Saints took control, with Mallinder scoring their second try.
But Gloucester then got going as they made the most of defensive lapses to score three more tries, with Jason Woodward, Billy Twelvetrees and Willi Heinz all going over.
Saints responded with a big Mallinder penalty and Haywood's score, but they could not finish off a late chance from a lineout as Gloucester got the full five points.
The hosts had been dealt a blow before kick-off as former Leicester lock Ed Slater was forced to withdraw, meaning Jeremy Thrush came in to the starting 15.
Gloucester had an early chance to take the lead as Owen Williams lined up an ambitious penalty, but his effort was well wide of the posts.
The home side did go ahead on 10 minutes though as centre Trinder spotted a gap and flew through it, recovering from a fall on the way to the line as he dotted down.
Williams missed the conversion, but it was exactly the type of early response the home fans craved after the previous week's 57-10 hammering at Sale Sharks.
Saints threatened to respond almost immediately as Cobus Reinach led a lightning counter-attack, outpacing the Gloucester defenders before closing in on the line.
But after Reinach kicked ahead and George North did likewise, the Wales wing knocked on as he tried to pick up the ball across the whitewash.
Saints didn't have to wait too much longer to score as some lovely, slick passing sent flanker Gibson in out wide.
Mallinder landed the tricky conversion to put his team ahead for the first time, but he missed a penalty from an easier position after Saints won the scrum battle.
Gloucester had the chance to put pressure on Saints after kicking to the corner following a harsh penalty award, but the away defence stood tall and turned the ball over.
However, Gloucester did grab their second try before the break as Trinder won a one-on-one out wide and doubled his own tally.
Williams missed the conversion with the final kick of a half which was one full of frustration for Saints.
But they started the second period in much better fashion as brilliant work from Ahsee Tuala created a try for Mallinder.
Tuala made a break, beat a man and then timed a no-look pass perfectly for Mallinder to cruise in out wide.
Mallinder added the conversion to make it 14-10, but Gloucester were soon gifted the lead again as Tom Collins misjudged a crossfield kick and Woodward gathered to score.
Williams again missed the kick, prompting groans from the disappointed home supporters, who were yet to see their fly-half land an effort from the tee.
Mallinder wasn't having the best time of it either, and he failed with a penalty attempt that would have put Saints back in front.
But he quickly made amends with a superb effort from close to halfway to ensure the see-saw nature of the match continued.
Gloucester then did their bit again as they grabbed the kick-off and cut through the Saints defence to score, with Twelvetrees the grateful finisher.
Williams finally ended his points drought as he slotted the conversion to make it 22-17 and Saints sent for Courtney Lawes and Stephen Myler from the bench.
But it made no immediate difference and the poor defensive effort continued as another missed tackle saw Heinz wriggle through for his team's fifth try.
Williams again converted to make it 29-17, and the game really looked to have got away from Saints.
Haywood did manage to grab his third try in as many matches from a huge lineout drive 10 minutes from time, with Myler landing the conversion with aplomb.
But there was to be no Saints fightback as Gloucester saw it out to make it three home wins from as many matches.
Gloucester: Woodward; Purdy, Trinder, Twelvetrees, Halaifonua; Williams (Burns 74), Heinz (c); Rapava Ruskin (Matu'u 64), Hibbard (Hohneck 64), Afoa (Denman 64); Savage, Thrush (Polledri 74); Ludlow, Rowan (Clarke 76), Ackermann.
Saints: Tuala; North, Burrell, Francis (Myler 60), Collins (Foden 65); Mallinder, Reinach; Waller (van Wyk 68), Hartley (c) (Haywood 65), Brookes (Ford-Robinson 65); Paterson (Ratuniyarawa 65), Ribbans; Gibson, Harrison, Dickinson (Lawes 60).
Referee: Wayne Barnes