Paris Saint-Germain's record 36-match unbeaten run in Ligue 1 came to an abrupt end as they went down to a 2-1 defeat at Lyon on Sunday.
Lyon were irresistible in the first half and stunned the visitors when Maxwel Cornet's slick early strike was followed up by a wonderful individual goal from Sergi Darder.
PSG had to respond and they did raise hopes of a comeback that would preserve an undefeated sequence that has run since March 2015 when Lucas Moura struck a curler early in the second half, but the home side held on for a famous victory.
Laurent Blanc's men remain 23 points ahead of second-placed Monaco at the top of the table with 10 games to play, but their hopes of going the whole top-flight campaign without defeat are over.
Lyon had lost to PSG four times this season - in the reverse Ligue 1 fixture and in three cup competitions - but move up to third place in the table with a triumph that extends their unbeaten run at Parc Olympique Lyonnais.
The hosts came storming out of the traps and took the lead after 13 minutes. Alexandre Lacazette chipped an excellent pass to Cornet, who cut inside from the left and finished impressively into the bottom corner.
Lyon bombarded PSG's goal in search of a second and Thiago Silva almost headed into his own net as he defended a corner.
Lacazette and Darder then tested away goalkeeper Kevin Trapp with long-range efforts, before the visitors' Thiago Motta was fortunate to escape with only a yellow card after striking the face of Jordan Ferri during a clash in midfield.
Rachid Ghezzal was also denied by Trapp, before he dragged a shot inches wide after beating Thiago Silva's challenge in the culmination of a superb passing move that involved Ferri and Lacazette.
PSG, playing without injured duo Angel Di Maria and Marco Verratti, finally responded towards the end of the first half, with Thiago Silva's header from a Lucas corner well saved by Anthony Lopes.
The Portugal international then got down well to keep out Zlatan Ibrahimovic's stinging shot, with Lucas flagged offside after he fired the rebound against the post.
Lyon got a deserved second goal in first-half stoppage time when Darder displayed brilliant skill to collect Rafael's cross, flick the ball over Thiago Silva and divert a deft finish past Trapp.
Blanc brought on Javier Pastore at half-time, with that change having the desired effect as the playmaker drove into the box after a one-two with Edinson Cavani, a move that allowed Lucas to seize on the loose ball and curl a left-footed shot into the far corner.
Lyon, who had forced Trapp into a good save from Cornet's deflected effort prior to that strike, came close to restoring their two-goal advantage when the 19-year-old's cut-back led to Ferri striking wide.
The match should have been put to bed when Ghezzal collected Ferri's sweeping cross, but the Algeria international failed to beat Trapp, who was fast off his line.
Ibrahimovic had the ball in the net at the other end, but was denied by a close offside call, before Trapp again had to save from Ghezzal as Bruno Genesio's men held on without any major scares.
Key Opta Stats:
- Lyon have only lost twice in their last 22 home league games against Paris Saint-Germain in Ligue 1.
- PSG conceded the opening goal for just the fourth time in the league this season.
- Sergi Darder is the first Spanish player to score against PSG in Ligue 1 since Albert Celades for Bordeaux in 2003.
- Lucas Moura has scored nine goals in all competitions for PSG this season, his most prolific since he joined the team.
- Lucas has scored two goals in his last two league games against Lyon.