Saints' hopes of securing a Gallagher Premiership play-off place were dented by Gloucester at Franklin's Gardens on Sunday afternoon.
Mark Atkinson scored a hat-trick as the Cherry and Whites cemented third spot with a six-try 40-31 success.
Saints did manage to grab a try bonus point thanks to scores from Taqele Naiyaravoro, Piers Francis, Cobus Reinach, Reece Marshall and Rory Hutchinson.
But that was as good as it got, and the gap to fourth-placed Harlequins, who Saints travel to on Saturday, is seven points with four games to go.
The black, green and gold had started the game against Gloucester well, winning a penalty at the scrum and applying some patient pressure.
Eventually the ball found its way to bulldozer wing Naiyaravoro, who showed incredible power to shrug off all attempted tackles, flattening full-back Tom Hudson on his way over the line.
But Dan Biggar missed the conversion from the touchline and Gloucester were soon at the Saints door, with Naiyaravoro going from hero to villain in a matter of minutes.
The big wing allowed Atkinson to scoot round the outside of him, and the despairing dive wasn't enough to stop the Gloucester centre scoring.
Billy Twelvetrees added the extras and his side led 7-5, but that advantage was shortlived as Francis raced in for a Saints score.
Biggar easily converted to make it 12-7 in the home side's favour, but they soon allowed Gloucester to score again, leaving a huge gap from a lineout, which Atkinson exploited.
The centre charged in unopposed, and Twelvetrees converted as the frantic nature of the game continued.
The tempo was sky high and after George Furbank's pass was intercepted with Saints in the Gloucester 22, the away side couldn't quite find the speed to get over the line on the break.
But after Naiyaravoro paid the price for a high tackle in his desperation to get back, flanker Ruan Ackermann powered over.
Twelvetrees added the extras and his team held a healthy 21-12 lead 10 minutes before the break.
Saints tried to respond immediately and they won a penalty at the scrum five metres from the Gloucester line, but the away side eventually stood tall to win a decision of their own.
However, the reprieve didn't last long as Ahsee Tuala did some fine work near the halfway line and Teimana Harrison charged forward before offloading for Reinach to score.
Biggar converted to cut the gap to just two points and Saints had responded superbly after the double blow of the Naiyaravoro sin-binning and Ackermann try.
But they were hit with a sucker punch before the break as Atkinson completed his hat-trick on the counter-attack to bag a bonus point for the Cherry and Whites.
Twelvetrees fluffed the conversion with the final kick of a frenetic half as Saints were left with a sour taste, having failed to shut the door for the last minute of the 40.
And it was to get even worse at the start of the second period as Gloucester again found holes galore in the Saints defence and lock Ed Slater powered over.
Twelvetrees made no mistake with the conversion on this occasion and his team were now 14 points ahead.
But Saints would not go quietly and their pack, which had impressed hugely in the set piece, got them back in the game as a dominant lineout drive allowed Marshall to score.
It was the bonus-point try for the hosts, but Biggar missed the conversion from left of the posts.
Saints were hit with an injury blow as Heinrich Brüssow sustained a head injury that required lengthy treatment, with the South African flanker eventually forced off.
And Gloucester put the game to bed with 14 minutes to go as Tom Savage rumbled over from a maul.
Twelvetrees converted to make it 40-24 and Saints' hopes of victory had faded badly.
Hutchinson gave them a glimmer of hope with a superb score from halfway, with Francis converting.
But it was too little, too late, and Gloucester saw the game out to ensure Saints would not be able to garner a losing bonus point.
Saints: Furbank; Tuala, Hutchinson, Francis, Naiyaravoro; Biggar (Pisi 68), Reinach (Mitchell 64); van Wyk (Waller 60), Marshall, Hill (Franks 60); Moon (Ratuniyarawa 40), Lawes; Ludlam (Gibson 44), Brüssow (Ludlam 57 (Burrell 64) (Dawidiuk 68)), Harrison (c).
Gloucester: Hudson (Seabrook 52); Banahan, Twelvetrees, Atkinson, Sharples (Braley 71); Cipriani (Polledri 53), Heinz (c); Hohneck (Rapava Ruskin 56), Marais (Sherry 71), Balmain (Dreyer 56); Slater (Savage 63), Mostert; Ackermann, Kriel, Morgan.
Referee: Craig Maxwell-Keys