Marseille's Konstantinos Mitroglou celebrates after his goal against Lyon during the League One football match. ( Photo source: AP/Claude Paris) |
Kostas Mitroglou looked to have snatched Marseille a vital point with an 84th-minute equaliser to make it 2-2, but Depay showed great bravery to nod home in the final minute of normal time.
Bruno Genesio's Lyon are now just two points adrift of their opponents in the race for the third and final Champions League spot, after following a six-game winless run with back-to-back victories.
Marseille had forged ahead in the 31st minute through Portuguese defender Rolando, but Lyon levelled as Adil Rami put through his own net before Houssem Aouar scored early in the second period.
Both sides clashed after the final whistle, with fights also breaking out in the tunnel as Marseille frustrations boiled over.
"Over the whole game, it was deserved, we had more chances and we controlled the game," said Lyon coach Genesio.
"We're back to two points and it's very possible to catch them, but we need to repeat the performances we put in against the big teams against the so-called weaker teams."
Both teams looked dangerous going forward early on, with Lyon forward Mariano Diaz seeing an effort spin narrowly wide of the far post, before visiting goalkeeper denied Dimitri Payet with a sprawling save.
Marseille dominated possession, but Lyon always looked a threat on the counter-attack and Steve Mandanda had to get down quickly to push away Bertrand Traore's low drive.
It was Rudi Garcia's hosts who struck the first blow, though, as Rami nodded a Payet free-kick back across the area for his centre-back partner Rolando to turn the ball in through the legs of Lopes.
Mandanda made a magnificent save to tip Maxwel Cornet's curling effort onto the post, but Lyon equalised in fortuitous circumstances shortly afterwards.
Traore completely miskicked with the goal gaping, but the ball ricocheted off Rami and looped past a stranded Mandanda.
It took Lyon less than seven minutes of the second period to take a deserved lead, as Traore picked out Aouar on the edge of the area and the 19-year-old midfielder curled low into the corner to score his fourth league goal of the season.
A draw would have been an excellent result for Marseille with a five-point lead to defend, but Lyon continued to outplay their hosts and Mandanda had to show all of his agility to get a vital hand on Traore's backheeled effort.
Marseille managed to get a grip on proceedings and some terrible defending from the away side gifted Mitroglou the equaliser as Jeremy Morel's sliced clearance dropped for the Greek striker to head home.
But former Manchester United winger Depay, who came on as a second-half substitute, leapt highest to direct Diaz's flick-on header into the far corner and spark wild Lyon celebrations.
Earlier on Sunday, Dani Alves snatched champions elect Paris Saint-Germain a 2-1 victory at Nice in an early kick-off aimed specifically at the Asian television market.
The Brazilian full-back stepped up in the absence of his injured compatriot Neymar with a late header after Angel Di Maria had cancelled out Allan Saint-Maximin's early opener for Nice.
"After the defeat against Real Madrid (in the Champions League), we have reacted very well. I'm pleased to see how the team has responded after that loss," PSG coach Unai Emery said.
"We were lacking that little something to forget the defeat. Perhaps a tiny element of it will never leave. But we've won against Metz, Angers, and now here and I like that."
PSG remain in total control of the title race, with reigning champions Monaco 17 points adrift in second place, with Marseille now seven points further behind.
Claudio Ranieri's Nantes missed the chance to retake fifth spot from Rennes as they were held to a 1-1 draw at rock-bottom Metz, while Saint-Etienne moved into the top half of the table with a 2-0 win over Guingamp.
French Ligue 1 results:
Nice 1 Paris Saint-Germain 2
Metz 1 Nantes 1
Saint-Etienne 2 Guingamp 0
Marseille 2 Lyon 3
What the stars mean:
★ Poor ★ ★ Promising ★★★ Good ★★★★ Very good ★★★★★ Exceptional