Northampton claimed a late bonus-point victory at Lyon, keeping their hopes of reaching the Heineken Champions Cup quarter-finals alive.
Lyon led at the break after tries from Felix Lambey and Liam Gill, though Mikey Haywood also crossed.
The lead changed hands twice as Saints' Teimana Harrison and Cobus Reinach and Lyon's Charlie Ngatai scored.
But George Furbank and James Fish's tries moved Saints into the runners-up qualification spots.
The five pool winners and three best-placed runners-up will advance to the knockout stages.
Northampton finish the pool stage on 19 points, but could still be pushed out of the last eight by Saracens and Gloucester, who are yet to play their final group games.
Lyon were out of contention before the match and end the pool stage third in their group.
Saints recover after another slow start
Northampton director of rugby Chris Boyd made 10 changes for the fixture against Lyon after apologising for his side's performance against Benetton last weekend.
That did not aid Saints in an uneventful first 20 minutes, but they were given a helping hand when Lyon prop Francisco Gomez Kodela was shown a yellow card for driving in before line-out jumper Lewis Ludlam had landed.
Northampton, who last reached the Champions Cup knockout stages in 2016, capitalised on the man advantage and drove over shortly after for hooker Haywood to score.
Lyon hit back almost immediately as Scottish scrum-half Sam Hidalgo-Clyne found a gap and sent the ball inside to Lambey, who dived across the tryline under the posts.
With the hosts restored to 15 men, Gill took a quick penalty from five metres out and caught Northampton's defence off guard to claim Lyon's second try.
Lyon fly-half Jonathan Wisniewski added to his two conversions with a penalty on half-time to take his side in with a 17-5 lead.
But Northampton, who are second in the Premiership, got off to an ideal start in the second half as number eight Harrison scrambled over from short range.
Reinach sprinted on to a Dan Biggar kick and scored to give Saints the lead, before Ngatai turned the tables as he stepped through defenders for his try, with Wisniewski's conversion taking Lyon ahead again.
But full-back Furbank ran round Lyon wing Xavier Mignot to put Northampton back in control before Fish dealt the final blow, earning Saints their first win in France for nine years.
'The win was a must' - what they said
Northampton co-captain Teimana Harrison: "The win was a must, to come away with five was awesome. It puts us in a really good spot so we're excited.
"We've left it a little late the last couple of weeks."
Line-ups
Lyon: Arnold; Mignot, Tuisova, Ngatai (c), Nakaitaci; Wisniewski, Hidalgo-Clyne; Chiocci, Alkhazashvili, Gomez Kodela, Bruni, Roodt, Cretin, Sobela, Gill.
Replacements: Maurouard, Devisme, Yameogo, Oosthuizen, Lambey, Pelissie, Dumortier, Buttin.
Sin-bin: Gomez Kodela (19)
Northampton Saints: Furbank; Tuala, Dingwall, Symons, Sleightholme; Biggar, Reinach; Waller (c), Haywood, Franks, Moon, Lawes, Wood, Ludlam, Harrison (c).
Replacements: Fish, Van Wyk, Painter, Ratuniyarawa, Coles, Taylor, Hutchinson, Mallinder.
For the latest rugby union news follow @bbcrugbyunion on Twitter.