Mark Atkinson scored a hat-trick of tries as Gloucester edged out Northampton 41-30 in a Franklin's Gardens thriller to boost their hopes of securing a Premiership play-off spot.
The bonus-point win keeps Gloucester third in the Gallagher Premiership standings but crucially they are now 11 points ahead of fifth-placed Sale with only four games remaining.
As well as Atkinson's first-half treble, Ruan Ackermann, Franco Marais and Ed Slater also crossed for Gloucester, with Billy Twelvetrees adding five conversions to put a big dent in Saints' hopes of claiming fourth place.
Northampton's five tries came from Taqele Naiyaravoro, Piers Francis, Rory Hutchinson, Reece Marshall and Cobus Reinach, with Dan Biggar kicking two conversions and Francis one.
It was the home side who drew first blood in a high-scoring encounter though an excellent try from Naiyaravoro in the sixth minute.
The winger and Paul Hull made key contributions to put the visitors' defence on the back foot before the ball was recycled for Naiyaravoro to burst through two tackles to score.
Gloucester were level within three minutes, though, after they produced a flowing move which culminated in Atkinson rounding a weak tackling attempt from Naiyaravoro to score.
The frenetic start continued with a third try in the opening 12 minutes, the visitors losing possession in their own 22 to provide Francis with an easy run-in to put Saints back in front.
The lead changed hands once again before the end of the first quarter when, from a line-out 20 metres out, a brilliantly executed move saw Atkinson breach the defence for his second try.
It was end-to-end stuff with Gloucester's Jaco Kriel and Saints' Reinach making clean breaks, but on both occasions desperate defence prevented any addition to the scoreboard.
Teimana Harrison then tore through and a Saints' try looked likely only for Matt Banahan to intercept Biggar's pass. The wing ran 60 metres but was hauled down with Naiyaravoro picking up a yellow card for killing the ball, and Gloucester soon capitalised when Ackermann forced his way over from close range.
Despite Naiyaravoro's absence, Northampton still managed to score the sixth try of a pulsating half when Harrison burst through to create the chance for Reinach to go over.
However, on the stroke of half-time Atkinson completed his hat-trick after supporting a break from Kriel. Twelvetrees missed the simple conversion but Gloucester still held a 26-19 interval lead.
The Cherry and Whites increased their advantage four minutes after the restart when Slater crashed over for their fifth try after a Fraser Balmain bust.
But they suffered two injury blows in quick succession with Tom Hudson and Danny Cipriani both leaving the field, meaning replacement flanker Jake Polledri was forced to play on the wing.
Marshall earned Saints a bonus point with his try from a line-out drive but soon afterwards they lost their flanker Heinrich Brussow with concussion.
Any hopes Northampton had of getting the win were extinguished with 15 minutes remaining, though, when Gloucester notched their sixth try as Marais finished off a driving line-out.
Gloucester wing Charlie Sharples became another casualty when he was helped off before Northampton had the final say when Hutchinson scored an excellent try, the 11th of a memorable afternoon.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Press Association Sport staff');
ga('pacontentapi.set', 'dimension2', '09f4697c-a6d1-4eb6-9b98-0afa94c29e68');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:uk');
ga('pacontentapi.set', 'dimension6', 'story');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:rugby-union');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'Atkinson hat-trick helps Gloucester beat Northampton in thriller'});