Northampton's four-match unbeaten run in the Aviva Premiership came to an end as they lost 29-24 in a thriller against Gloucester at Kingsholm.
The lead changed hands repeatedly as the home side took a bonus-point victory through tries from centre Henry Trinder, with two, fullback Jason Woodward, centre Billy Twelvetrees and scrum-half Willi Heinz.
Fly-half Owen Williams converted two of them, while Saints scored touchdowns via flanker Jamie Gibson and replacement hooker Mikey Haywood. Fly-half Harry Mallinder added 12 points with a try, penalty and two conversions, while replacement centre Stephen Myler added another conversion.
From the start, the game was gripping. Trinder got the first of his double from a move that began on halfway and involved Heinz and Twelvetrees. The centre's pass to the left flank found Trinder for a dashing run. He was half-tackled 10 metres out but kept control to dive over.
Northampton should have crossed from a sweeping movement on their own line which involved Gibson and debutant Piers Francis before scrum-half Cobus Reinach dashed 40 metres up the touchline, kicked ahead and wing George North just failed to ground the ball in the home danger area.
Gibson made amends when centre Luther Burrell and full-back Ahsee Tuala combined to send the flanker over, with Mallinder adding the extras.
Saints could have scored again when Mallinder put a grubber kick over the Gloucester line for Burrell, only for Trinder to avert the danger.
But Trinder put the Cherry and Whites into a three-point lead when he finished off a move on the left, beating two men and diving over for the unconverted touchdown.
The topsy-turvy encounter swung back Northampton's way within minutes of the re-start, and then to Gloucester. Mallinder finished off a drive from half-way by Tuala and converted the touchdown himself.
Gloucester then attacked inside the Saints 22. Heinz spotted Woodward in space on the far right and put a superb cross-kick for the full-back to leap, grab and scramble over.
Mallinder put the Saints in front again with a penalty, but within seconds of that kick Twelvetrees grabbed Gloucester's bonus-point touchdown beneath the posts, with Williams converting.
And, when Heinz dashed over from a scrum, the home side looked clear as the final quarter began.
A driving try by Haywood and Myler's touchline conversion set up a grand finale, yet Gloucester hung on for victory.