Toulon moved back to the top of the Top 14, but were pushed all the way by Lyon, winning 22-14 at the Matmut Stadium.
First-half tries from David Smith, Delon Armitage and Drew Mitchell allowed Toulon to race into a 22-5 lead, despite Lyon dominating possession.
And while Stephen Brett kept Lyon in it with his goal-kicking, the French champions defended stoutly, despite spending virtually the entire second half in their own territory.
It was a disastrous start for Toulon, who conceded an early try, while also losing three players to injury.
After Juan Smith was replaced within three minutes, Januarie burrowed over off the back of a ruck after Lionel Nallet's charge. In trying to stop him, Michael Claassens was seriously injured, while Bakkies Botha was also forced off.
Toulon had the chance to cut the deficit from the restart but Nicolas Sanchez missed a penalty, but they were level after 12 minutes when David Smith continued his fine try-scoring form with a long-range effort after Rudi Wulf had beaten his man before finding his winger inside.
Sanchez again missed the conversion and Lyon came back with a great break from Stephen Brett. That eventually set up Mosese Ratuvou to go over in the corner, but Juan Martin Hernandez just got across to force him to put a foot in touch.
And it was Toulon who showed their clinical side, with Mickaël de Marco intercepting in midfield but having the ball pilfered from him at the next ruck, with Drew Mitchell racing clear before feeding Delon Armitage for the try. For the first time of the night, Sanchez found the target, and Toulon led 12-5.
Toulon were almost in again after a piercing break from Hernandez, but his long pass didn't go to hand and the chance went begging. Still, a minute later they were able to stretch their lead with another penalty from Sanchez after an infringement at a lineout from the home side.
Lyon came back, and looked well in place with a rolling maul, but Ali Williams and Juan Martin Fernandez Lobbe were able to disrupt the ball, legally according to the referee, and the European champions then got the ball back in the Lyon half, with Mitchell finding enough space to get over on the right. Again Sanchez converted, and it was already 22-5 to Toulon.
Again Lyon tried to respond, and earned a penalty two minutes from half-time, and turned down an easy three points to kick for the corner, but Virgile Bruni got up to steal the ball and avert the danger.
Lyon did get one final chance before half-time though, with Fernandez Lobbe going off his feet again at a ruck, and on this occasion Lyon took the shot at goal, with Brett making it 22-8 at the break.
It was an amazing scoreline given Lyon had nearly 70% of possession in the first half, but they closed the gap a little more with another Brett penalty early in the second period.
Lyon kept coming, and almost had their second try with half an hour remaining when Deon Fourie was stopped inches short of the line, after a lovely break from Brett in the build-up.
While Toulon escaped thanks to a scrum penalty, Lyon were soon back on the front foot, and finally Toulon lost Fernandez Lobbe to a yellow card for yet another cynical attempt to kill the ball five metres out. Brett again added the three points, although it seemed slim consolation for the home side's dominance, Toulon leading 22-14.
The injury crisis got worse for the visitors when Bruni and David Smith were forced off, with Carl Hayman finishing in the second row, and Steffon Armitage at centre.
With ten minutes to go, Lyon could have got back to within a score, but Brett was off-target with a penalty attempt from 40 metres out.
And despite giving it their all, Lyon were eventually denied what would have been a deserved losing bonus point, when a final lineout five metres out didn't go to hand.
Pens: Brett 3
Tries: D Smith, D Armitage, Mitchell
Cons: Sanchez 2
Yellow Card: Fernandez Lobbe
Lyon: 15 Romain Loursac, 14 Toby Arnold, 13 Kendrick Lynn, 12 Fabrice Estebanez, 11 Mosese Ratuvou, 10 Stephen Brett, 9 Enrico Januarie, 8 George Smith, 7 Karim Ghezal, 6 Julien Puricelli, 5 Lionel Nallet (c), 4 Mickaël De Marco, 3 Anthony Roux, 2 Damien Fitzpatrick, 1 Francisco Tetaz
Replacements: 16 Deon Fourie, 17 Emmanuel Felsina, 18 Steevy Cerqueira, 19 Eugene N'Zi, 20 Mathieu Lorée, 21 Waisele Sukanaveita, 22 Lachie Munro, 23 Horatiu Pungea
Toulon: 15 Delon Armitage, 14 Drew Mitchell, 13 Rudi Wulf, 12 Juan-Martin Hernandez, 11 David Smith, 10 Nicolas Sanchez, 9 Michael Claassens, 8 Steffon Armitage, 7 Juan-Martin Fernandez Lobbe, 6 Juan Smith, 5 Ali Williams, 4 Bakkies Botha, 3 Carl Hayman, 2 Jean-Charles Orioli, 1 Alexandre Menini
Replacements: 16 Craig Burden, 17 Florian Fresia, 18 Jocelino Suta, 19 Chris Masoe, 20 Jimmy Yobo, 21 Josua Tuisova, 22 Eric Escande, 23 Martin Castrogiovanni
Referee: Pascal Pechambert