Lyon have claimed a 3-2 win over Monaco in Friday night's Ligue 1 encounter at the Parc Olympique Lyonnais.
A slow start to the game soon gave way to an 11th-minute opener for the hosts, as a Nabil Fekir through-ball found its way to Mariano Diaz, who coolly slotted the ball into the right-hand side of the net.
Just six minutes later, however, the French champions were level as Keita Balde teed up Rony Lopes inside the box, and the Brazilian curled the ball beyond the reach of goalkeeper Anthony Lopes.
The goal flurry continued with Lyon taking the lead for the second time in the game on 23 minutes, with Fekir controlling a strongly-hit pass from Ferland Mendy before cutting inside his marker and rifling home.
Adama Traore then edged the visitors level in the 34th minute as a defensive mix-up saw the ball fall kindly on the right boot of the 21-year-old for a ferocious strike which flew into the top-right hand corner of Lopes's net.
Both sides continued to exchange blows in the second half, with Traore firing just wide of the post on 63 minutes, while Diaz forced a save from Danijel Subasic four minutes later before cannoning an effort off the post from 30 yards out on 73 minutes.
Just as it seemed like the match would finish all square, Fekir played a pass to Mariano, who bore down on goal and fired beyond the outstretched arms of Subasic in the 93rd minute to give Lyon all three points.