Premiership leaders Saracens secured their second Heineken Champions Cup win despite being reduced to 14 men.
Saracens led 15-0 after 20 minutes thanks to tries from Jamie George and Ben Earl but the home side roared back to lead 17-15 early in the second half.
A length-of-the-pitch try finished by Sean Maitland and Owen Farrell's boot gave Sarries an eight-point lead.
Replacement prop Alec Cleary was sent off for a high tackle with 14 minutes left but Saracens held on.
With two matches to go in the group stage, three-time champions Saracens look well set to qualify for the knockout stages on their return to the competition after a two-year absence.
After an early Farrell penalty, Saracens' first try came when Theo McFarland took clean line-out ball, the pack drove and hooker George dived over the line.
Then following sustained pressure, Farrell's well-timed pass gave Earl the space to stroll through a gap in Lyon's defence and touch down.
Lyon, who made sweeping changes to their team following defeat by South African side Bulls last week, responded with a sweeping move that ended with prop Hamza Kaabeche crashing over.
With the crowd in full voice, Lyon caught Saracens out at a line-out, moved the ball sharply from one side to the other before finding the unlikely figure of Kaabeche all alone on the left wing to score in the corner.
Lyon started the second half strongly, a high kick from Farrell was regathered by the hosts and his opposite number Fletcher Smith raced 50 yards unopposed for a try.
But Alex Lozowski's break from his own 22 and George's intelligent kick found Maitland on the wing and he had the pace to touch down.
Farrell's conversion and another penalty moments later gave Saracens a vital cushion which they needed after their lead was cut to five and Clarey was shown a red card following a TMO review for a high tackle on Arno Botha.
The visitors brought all their experience to the fore and Elliot Daly's long-distance penalty denied the hosts a losing bonus point.
What they said
Saracens hooker Jamie George: "It was a great result, that's what we have got to take away from it.
"It is probably another performance we are going to be frustrated looking back on it, but fundamentally it is a results-based competition. So while we are very happy with the result, we also have plenty of work to do.
"It is very hard to come here, Lyon are a great team, and when they get momentum they are really hard to stop. I felt like the crowd got behind them in that respect.
"We gave them opportunities with regards to giving them the ball with ill discipline. We gave them all their points rather than them putting us under pressure
"That is something we need to identify and work out and fix because it was very similar against Edinburgh last week as well."
Line-ups
Lyon: Tchaptchet; Mignot, Regard, Godwin, Veredamu, Smith, Couilloud; Kaabeche, Charcosset, Gomez-Kodela, Lambey, Mayanavanua, William, Guillard, Taufua (capt).
Replacements: Marchand, Rey, Tafili, Goujon, Botha, Pelissie, Doussain, Parisien.
Saracens: Daly; Lewington, Lozowski, Tompkins, Maitland; Farrell (capt), Van Zyl; M Vunipola, George, Riccioni, Hunter-Hill, Tizard, McFarland, Earl, B Vunipola.
Replacements: Woolstencroft, Mawi, Clarey, Wray, Christie, Davies, Goode, Malins.
Red card: Clarey
Match officials
Referee: Frank Murphy (Ireland).
Touch judges: Eoghan Cross and Paul Haycock (both Ireland).
TMO: Leo Colgan (Ireland).