Ligue 1 Regular Season - 29

Lyon 2 - 0 FT Lorient

Parc Olympique Lyonnais

Match previews and recaps to help you decide which games are worth watching

Futmetrix Verdict
44
FT
Sun, Apr 12
Français
Lyon
2-0
Lorient
⚡ Intensity 39
⚖️ Balance 13
🏆 Stakes 51
🎲 Upset 0
Super subs spark massive home victory.

A Tale of Two Halves at Parc Olympique Lyonnais

Average Entertainment Futmetrix Score: 44/100. A tactical stalemate turned into a masterclass of game management as early substitutions ignited the home side's push for Europe.

The Initial Gridlock

The atmosphere inside Parc Olympique Lyonnais was thick with early tension as the hosts sought to solidify their European credentials. Lyon edged possession in the opening phases, holding onto the ball but struggling to carve out clear-cut opportunities. Instead, it was Lorient who looked the more menacing side on the break. The Balance of play shifted subtly as the visitors consistently exploited spaces behind the high defensive line, generating a highly threatening attacking output. Tyler Morton worked tirelessly in the engine room to dictate the tempo, yet the first forty-five minutes remained a stubborn tactical gridlock. Lorient’s forwards kept knocking on the door, forcing the backline to remain incredibly disciplined to avoid an unwelcome deficit before the halftime whistle finally blew.

The Sub Switch

The halftime interval provided the ultimate turning point, and the Intensity of the contest skyrocketed immediately after the restart. Managerial adjustments altered the entire DNA of the match when fresh legs were introduced. Just four minutes into the second half, the breakthrough finally arrived. Endrick, fresh off the bench, produced a moment of absolute quality to set up R. Yaremchuk, who made no mistake in dispatching the ball to break the deadlock. Barely had the away side processed this setback when another halftime arrival struck a fatal blow. In the 56th minute, C. Tolisso fired home a ruthless second goal, completing a rapid-fire double that completely flipped the script and decisively punished the visitors for their earlier wastefulness in front of goal.

Closing the Door

With a sudden two-goal cushion established, the immediate Stakes were crystal clear: the hosts simply needed to protect their UEFA Europa League positioning against an inevitable late barrage. This is where Dominik Greif stepped up to deliver an absolute masterclass between the sticks. The goalkeeper put on a heroic clinic, racking up seven crucial saves across the evening to flat-out deny Lorient any route back into the contest. Supported by an outstanding, resilient defensive shift from Abner Vinícius on the flank, the backline weathered the mounting late storm perfectly. They successfully neutralized the visitors' persistent attacking phases, keeping a vital clean sheet and securing three massive points as the late-season race for continental qualification nears its dramatic conclusion.

Key Questions

What made Dominik Greif the Man of the Match?

He was an impenetrable wall, making seven critical saves to deny Lorient's persistent attacks and secure a vital clean sheet.

How did substitute Dominik Greif change the game?

While Greif started the match as the primary goalkeeper, it was actually halftime substitutes Endrick and Tolisso who changed the game with an assist and a goal respectively.

What is the Futmetrix Score?

The Futmetrix Score is our 0-100 verdict on how entertaining a match is. We look at intensity, balance, stakes, and star quality to tell you if it's worth your time.

Match Statistics

Possession
53%
47%
Lyon 53%
Lorient 47%
Shots
11
12
Lyon 11
Lorient 12
Shots on Target
5
6
Lyon 5
Lorient 6
Expected Goals (xG)
1.14
1.93
Lyon 1.14
Lorient 1.93
Passes
469
425
Lyon 469
Lorient 425
Pass Accuracy
86%
87%
Lyon 86%
Lorient 87%
Corners
4
4
Lyon 4
Lorient 4
Fouls
17
13
Lyon 17
Lorient 13
Yellow Cards
4
1
Lyon 4
Lorient 1
Red Cards
0
0
Lyon 0
Lorient 0

Match Events

T. Le Bris P. Katseris 🔄 23'
45'+1 🟨 A. Maitland-Niles
HT
46' 🔄 R. Ghezzal C. Tolisso
46' 🔄 N. Nartey O. Mangala
46' 🔄 S. Kango Endrick
49' R. Yaremchuk (Endrick)
56' C. Tolisso
A. Kouassi D. Yongwa 🔄 73'
J. Makengo A. Tosin 🔄 73'
B. Dieng S. Soumano 🔄 80'
81' 🟨 Endrick
81' 🟨 T. Morton
82' 🔄 T. Morton T. Tessmann
86' 🔄 R. Yaremchuk R. Kluivert
B. Meite 🟨 88'
90'+1 🟨 A. Moreira
FT

Player Cards

Our take on every player in this match

Lyon

Goalkeepers
Dominik Greif
OCTOPUS
OCTOPUS
7
Saves
7
Saves
0
Conceded
100%
Save %
Defenders
Steeve Kango
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
45
Total Mins
46
Entry
Clinton Mata
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Moussa Niakhaté
PROVOCATEUR
PROVOCATEUR
2
Fouls Won
2
Fouls Won
6
Duels Won
0
Pens Won
Abner Vinícius
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Midfielders
Tyler Morton
LATE SHIFT
LATE SHIFT
8
Late Mins
8
Late Mins
82
Total Mins
82
Entry
Rachid Ghezzal
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
45
Total Mins
46
Entry
Ainsley Maitland-Niles
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Noah Nartey
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
45
Total Mins
46
Entry
Afonso Moreira
STORMTROOPER
STORMTROOPER
2
Shots
2
Shots
0
Goals
1
On Target
Forwards
Roman Yaremchuk
FINISHER
FINISHER
1
Goals
1
Goals
3
Shots
6.3
Rating
BENCH
Rémy Descamps
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Ruben Kluivert
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
9
Total Mins
Started
Entry
Hans Hateboer
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Orel Mangala
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
50
Total Mins
Started
Entry
Corentin Tolisso
SUPER SUB
SUPER SUB
1
Goal
1
Goal
50
Minutes
7.3
Rating
Tanner Tessmann
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
13
Total Mins
Started
Entry
Khalis Merah
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Adam Karabec
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Endrick
SUPER SUB
SUPER SUB
1
Assist
1
Assist
50
Minutes
7.2
Rating

Lorient

Goalkeepers
Yvon Mvogo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Defenders
Bamo Meïté
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
0
On Target
Nathaniel Adjei
PROVOCATEUR
PROVOCATEUR
2
Fouls Won
2
Fouls Won
3
Duels Won
0
Pens Won
Abdoulaye Faye
PROVOCATEUR
PROVOCATEUR
2
Fouls Won
2
Fouls Won
9
Duels Won
0
Pens Won
Midfielders
Théo Le Bris
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
23
Total Mins
23
Entry
Arthur Avom Ebong
MAGNET
MAGNET
70
Activity
70
Activity
59
Passes
11
Duels
Noah Cadiou
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Arsène Kouassi
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
73
Total Mins
73
Entry
Forwards
Jean-Victor Makengo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
73
Total Mins
73
Entry
Pablo Pagis
ARCHITECT
ARCHITECT
5
Key Passes
5
Key Passes
0
Assists
33%
Pass Acc
Ahmadou Bamba Dieng
LATE SHIFT
LATE SHIFT
10
Late Mins
10
Late Mins
80
Total Mins
80
Entry
BENCH
Bingourou Kamara
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Panos Katseris
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
1
On Target
Darlin Yongwa
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
22
Total Mins
Started
Entry
Igor Silva
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Martin Bley
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Bandiougou Fadiga
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Daniel Semedo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Aiyegun Tosin
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
22
Total Mins
Started
Entry
Sambou Soumano
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
15
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
12/07/2025 Lorient 1 - 0 Lyon Ligue 1 Stade du Moustoir
03/09/2024 Lorient 0 - 2 Lyon Ligue 1 Stade du Moustoir - Yves Allainmat
10/08/2023 Lyon 3 - 3 Lorient Ligue 1 Groupama Stadium
03/05/2023 Lyon 0 - 0 Lorient Ligue 1 Groupama Stadium
09/07/2022 Lorient 3 - 1 Lyon Ligue 1 Stade Yves Allainmat - Le Moustoir
03/04/2022 Lorient 1 - 4 Lyon Ligue 1 Stade Yves Allainmat - Le Moustoir
12/07/2025
1 - 0
Ligue 1 Stade du Moustoir
03/09/2024
0 - 2
Ligue 1 Stade du Moustoir - Yves Allainmat
10/08/2023
3 - 3
Ligue 1 Groupama Stadium
03/05/2023
0 - 0
Ligue 1 Groupama Stadium
09/07/2022
3 - 1
Ligue 1 Stade Yves Allainmat - Le Moustoir
03/04/2022
1 - 4
Ligue 1 Stade Yves Allainmat - Le Moustoir
Lyon Win
Lorient Win
Draw

League Standings

Pos Team P Pts GF GA GD Form
1 Paris Saint Germain 27 63 61 23 +38 WParis Saint Germain 3 - 1 Toulouse (03-04-2026)WNice 0 - 4 Paris Saint Germain (21-03-2026)LParis Saint Germain 1 - 3 Monaco (06-03-2026)WLe Havre 0 - 1 Paris Saint Germain (28-02-2026)WParis Saint Germain 3 - 0 Metz (21-02-2026)
2 Lens 28 59 54 27 +27 LLille 3 - 0 Lens (04-04-2026)WLens 5 - 1 Angers (20-03-2026)LLorient 2 - 1 Lens (14-03-2026)WLens 3 - 0 Metz (08-03-2026)DStrasbourg 1 - 1 Lens (27-02-2026)
3 Lille 29 53 49 34 +15 WToulouse 0 - 4 Lille (12-04-2026)WLille 3 - 0 Lens (04-04-2026)WMarseille 1 - 2 Lille (22-03-2026)WRennes 1 - 2 Lille (15-03-2026)DLille 1 - 1 Lorient (08-03-2026)
4 Marseille 29 52 58 38 +20 WMarseille 3 - 1 Metz (10-04-2026)LMonaco 2 - 1 Marseille (05-04-2026)LMarseille 1 - 2 Lille (22-03-2026)WMarseille 1 - 0 Auxerre (13-03-2026)WToulouse 0 - 1 Marseille (07-03-2026)
5 Lyon 29 51 43 29 +14 WLyon 2 - 0 Lorient (12-04-2026)DAngers 0 - 0 Lyon (05-04-2026)LLyon 1 - 2 Monaco (22-03-2026)DLe Havre 0 - 0 Lyon (15-03-2026)DLyon 1 - 1 Paris FC (08-03-2026)
6 Rennes 29 50 49 41 +8 WRennes 2 - 1 Angers (11-04-2026)WStade Brestois 29 3 - 4 Rennes (04-04-2026)DRennes 0 - 0 Metz (22-03-2026)LRennes 1 - 2 Lille (15-03-2026)WNice 0 - 4 Rennes (08-03-2026)
7 Monaco 29 49 50 43 +7 LParis FC 4 - 1 Monaco (10-04-2026)WMonaco 2 - 1 Marseille (05-04-2026)WLyon 1 - 2 Monaco (22-03-2026)WMonaco 2 - 0 Stade Brestois 29 (14-03-2026)WParis Saint Germain 1 - 3 Monaco (06-03-2026)
8 Strasbourg 28 43 46 34 +12 WStrasbourg 3 - 1 Nice (04-04-2026)WNantes 2 - 3 Strasbourg (22-03-2026)DStrasbourg 0 - 0 Paris FC (15-03-2026)DAuxerre 0 - 0 Strasbourg (07-03-2026)DStrasbourg 1 - 1 Lens (27-02-2026)
9 Lorient 29 38 38 44 -6 LLyon 2 - 0 Lorient (12-04-2026)DLorient 1 - 1 Paris FC (05-04-2026)LToulouse 1 - 0 Lorient (21-03-2026)WLorient 2 - 1 Lens (14-03-2026)DLille 1 - 1 Lorient (08-03-2026)
10 Toulouse 29 37 39 39 0 LToulouse 0 - 4 Lille (12-04-2026)LParis Saint Germain 3 - 1 Toulouse (03-04-2026)WToulouse 1 - 0 Lorient (21-03-2026)WMetz 3 - 4 Toulouse (15-03-2026)LToulouse 0 - 1 Marseille (07-03-2026)
11 Stade Brestois 29 28 36 37 43 -6 LStade Brestois 29 3 - 4 Rennes (04-04-2026)LAuxerre 3 - 0 Stade Brestois 29 (21-03-2026)LMonaco 2 - 0 Stade Brestois 29 (14-03-2026)WStade Brestois 29 2 - 0 Le Havre (08-03-2026)WMetz 0 - 1 Stade Brestois 29 (01-03-2026)
12 Paris FC 29 35 37 45 -8 WParis FC 4 - 1 Monaco (10-04-2026)DLorient 1 - 1 Paris FC (05-04-2026)WParis FC 3 - 2 Le Havre (22-03-2026)DStrasbourg 0 - 0 Paris FC (15-03-2026)DLyon 1 - 1 Paris FC (08-03-2026)
13 Angers 29 33 25 39 -14 LRennes 2 - 1 Angers (11-04-2026)DAngers 0 - 0 Lyon (05-04-2026)LLens 5 - 1 Angers (20-03-2026)LAngers 0 - 2 Nice (14-03-2026)WNantes 0 - 1 Angers (07-03-2026)
14 Le Havre 29 29 24 37 -13 DNice 1 - 1 Le Havre (12-04-2026)DLe Havre 1 - 1 Auxerre (05-04-2026)LParis FC 3 - 2 Le Havre (22-03-2026)DLe Havre 0 - 0 Lyon (15-03-2026)LStade Brestois 29 2 - 0 Le Havre (08-03-2026)
15 Nice 29 28 34 56 -22 DNice 1 - 1 Le Havre (12-04-2026)LStrasbourg 3 - 1 Nice (04-04-2026)LNice 0 - 4 Paris Saint Germain (21-03-2026)WAngers 0 - 2 Nice (14-03-2026)LNice 0 - 4 Rennes (08-03-2026)
16 Auxerre 29 24 23 37 -14 DAuxerre 0 - 0 Nantes (11-04-2026)DLe Havre 1 - 1 Auxerre (05-04-2026)WAuxerre 3 - 0 Stade Brestois 29 (21-03-2026)LMarseille 1 - 0 Auxerre (13-03-2026)DAuxerre 0 - 0 Strasbourg (07-03-2026)
17 Nantes 28 19 24 45 -21 DAuxerre 0 - 0 Nantes (11-04-2026)DMetz 0 - 0 Nantes (05-04-2026)LNantes 2 - 3 Strasbourg (22-03-2026)LNantes 0 - 1 Angers (07-03-2026)LLille 1 - 0 Nantes (01-03-2026)
18 Metz 29 15 26 63 -37 LMarseille 3 - 1 Metz (10-04-2026)DMetz 0 - 0 Nantes (05-04-2026)DRennes 0 - 0 Metz (22-03-2026)LMetz 3 - 4 Toulouse (15-03-2026)LLens 3 - 0 Metz (08-03-2026)