Lens vs Lyon

9 October 2026 · Ligue 1 · 2026/27 · Referee Jeremy Stinat

Full time 2 – 1

Half-time: 1–0

  • Florian Sotoca 36’
  • Matthieu Udol 76’
  • Khalis Merah 85’

Match summary

Lens beat Lyon 2-1. Lens led 1-0 at half-time.

Florian Sotoca put Lens ahead in the 36th minute, set up by Florian Thauvin, Matthieu Udol made it 2-0 with a header in the 76th minute, set up by Florian Thauvin, and Khalis Merah pulled one back to make it 2-1 in the 85th minute.

The chances backed that up: Lens created 1.41 expected goals (xG) from 15 shots to Lyon's 1.03 from 13. Lens had a player sent off.

Lens secured a 2-1 victory against Lyon in Ligue 1 on matchday 6, controlling territory and shot volume despite holding 48 percent possession compared to the visitors' 52 percent. Lens registered 15 shots with 7 on target, while Lyon recorded 13 shots with 5 on target. Lens won 7 corners to Lyon's 4, completed 454 passes to 486, and made 19 tackles against 10. Both teams committed numerous fouls, resulting in 13 for Lens and 12 for Lyon, alongside 1 red card for the hosts and 1 yellow card for each side.

The match timeline began with a yellow card for Lyon player Abner in the 23rd minute for a foul. Lens took the lead in the 36th minute when Florian Sotoca scored with a right foot shot to make it 1-0 at half-time. Following the restart, Jonathan Gradit received a yellow card for Lens in the 50th minute before being substituted due to injury, accompanied by multiple tactical changes across both teams. Matthieu Udol scored Lens's second goal with a right foot shot in the 76th minute to bring the score to 2-0. Udol was then shown a red card for a foul in the 84th minute, and Lyon immediately capitalized when Khalis Merah scored with a right foot shot in the 85th minute, concluding the scoring at 2-1.

Match stats

48% Possession 52%
15 Shots 13
7 Shots on target 5
7 Corners 4
73 Attacks 102
39 Dangerous attacks 42
454 Passes 486
85% Pass accuracy 85%
19 Tackles 10
13 Fouls 12
1 Yellow cards 1
1 Red cards 0
1 Offsides 1

Key events

Lens Lyon
Kick-off
Florian SotocaShot on target
12’
23’
AbnerFoul
Florian SotocaRight foot shot1-0 (Lens)
36’
Florian ThauvinShot on target
44’
Half-time1-0
Odsonne EdouardShot on target
46’
Second half underway
48’
Pavel SulcShot on target
50’
60’
Florian ThauvinShot on target
66’
67’
Keito NakamuraShot on target
73’
Tyler MortonShot on target
Matthieu UdolRight foot shot2-0 (Lens)
76’
Junior KadileShot on target
76’
84’
85’
Khalis MerahRight foot shot2-1 (Lyon)
90+2’
Felix BacherShot on target
Full-time2-1

How the chances added up

Running total of expected goals (xG) for each side through the match. xG rates each chance by how often similar shots are scored. A goal is marked where it was scored.

0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.41 1.03 36’ Florian Sotoca (Lens), 1-0 36’ 76’ Matthieu Udol (Lens), 2-0 76’ 85’ Khalis Merah (Lyon), 2-1 85’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 1.41 1.03 36’ Florian Sotoca (Lens), 1-0 Sotoca 36’ 76’ Matthieu Udol (Lens), 2-0 Udol 76’ 85’ Khalis Merah (Lyon), 2-1 Merah 85’
Lens 1.41 xGLyon 1.03 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 Lyon attacking Lens attacking 
46’ Odsonne Edouard (Lens), open play, 0.48 xG, saved 87’ Ruben Kluivert (Lyon), from a corner, 0.25 xG, off target 76’ Matthieu Udol (Lens), set piece, 0.13 xG, goal 79’ Khalis Merah (Lyon), open play, 0.13 xG, off target 30’ Jonathan Gradit (Lens), from a corner, 0.12 xG, off target 66’ Florian Thauvin (Lens), open play, 0.12 xG, saved 12’ Florian Sotoca (Lens), open play, 0.11 xG, saved 90+5’ Felix Bacher (Lyon), open play, 0.10 xG, off target 90+2’ Felix Bacher (Lyon), open play, 0.10 xG, saved 36’ Florian Sotoca (Lens), open play, 0.09 xG, goal 67’ Keito Nakamura (Lyon), open play, 0.08 xG, saved 85’ Khalis Merah (Lyon), open play, 0.08 xG, goal 49’ Matthieu Udol (Lens), open play, 0.08 xG, blocked 74’ Kail Boudache (Lyon), open play, 0.08 xG, off target 48’ Pavel Sulc (Lyon), open play, 0.06 xG, saved 26’ Florian Sotoca (Lens), open play, 0.05 xG, off target 32’ Odsonne Edouard (Lens), open play, 0.04 xG, off target 38’ Ruben Aguilar (Lens), open play, 0.04 xG, off target 44’ Florian Thauvin (Lens), open play, 0.04 xG, saved 81’ Keito Nakamura (Lyon), open play, 0.04 xG, off target 24’ Mads Bidstrup (Lyon), open play, 0.04 xG, blocked 46’ Florian Sotoca (Lens), from a corner, 0.03 xG, off target 53’ Ruben Aguilar (Lens), open play, 0.03 xG, off target 73’ Tyler Morton (Lyon), open play, 0.03 xG, blocked 13’ Pierre Ganiou (Lens), from a corner, 0.02 xG, off target 76’ Junior Kadile (Lens), open play, 0.03 xG, saved 73’ Tyler Morton (Lyon), open play, 0.02 xG, saved 40’ Loïs Openda (Lyon), open play, 0.01 xG, blocked 46’ Odsonne Edouard (Lens), open play, 0.48 xG, saved 87’ Ruben Kluivert (Lyon), from a corner, 0.25 xG, off target 76’ Matthieu Udol (Lens), set piece, 0.13 xG, goal 79’ Khalis Merah (Lyon), open play, 0.13 xG, off target 66’ Florian Thauvin (Lens), open play, 0.12 xG, saved 30’ Jonathan Gradit (Lens), from a corner, 0.12 xG, off target 12’ Florian Sotoca (Lens), open play, 0.11 xG, saved 90+2’ Felix Bacher (Lyon), open play, 0.10 xG, saved 90+5’ Felix Bacher (Lyon), open play, 0.10 xG, off target 36’ Florian Sotoca (Lens), open play, 0.09 xG, goal 67’ Keito Nakamura (Lyon), open play, 0.08 xG, saved 85’ Khalis Merah (Lyon), open play, 0.08 xG, goal 49’ Matthieu Udol (Lens), open play, 0.08 xG, blocked 74’ Kail Boudache (Lyon), open play, 0.08 xG, off target 48’ Pavel Sulc (Lyon), open play, 0.06 xG, saved 26’ Florian Sotoca (Lens), open play, 0.05 xG, off target 44’ Florian Thauvin (Lens), open play, 0.04 xG, saved 81’ Keito Nakamura (Lyon), open play, 0.04 xG, off target 32’ Odsonne Edouard (Lens), open play, 0.04 xG, off target 38’ Ruben Aguilar (Lens), open play, 0.04 xG, off target 24’ Mads Bidstrup (Lyon), open play, 0.04 xG, blocked 46’ Florian Sotoca (Lens), from a corner, 0.03 xG, off target 53’ Ruben Aguilar (Lens), open play, 0.03 xG, off target 73’ Tyler Morton (Lyon), open play, 0.03 xG, blocked 76’ Junior Kadile (Lens), open play, 0.03 xG, saved 13’ Pierre Ganiou (Lens), from a corner, 0.02 xG, off target 73’ Tyler Morton (Lyon), open play, 0.02 xG, saved 40’ Loïs Openda (Lyon), open play, 0.01 xG, blocked
Size shows xG Goal On target Off target or blocked

Hover or tap a shot for the player, minute and xG.

Lineups

Lens 3-4-2-1 Starting XI
Risser
Gradit 53’
Ganiou
Antonio
Aguilar
Cuisance 83’
Titraoui 54’
Udol
Thauvin 2
Sotoca 69’
Édouard 69’
Lyon 4-2-3-1 Starting XI
Greif
Abner
Kluivert
Bacher
Athekame
Morton 77’
Bidstrup 60’
Tolisso
Sulc 78’
Nuamah 71’
Openda 60’

Player stats

PlayerPosMinGAShxGxAKPCards
Robin Risser GK900 0.000.000
Pierre Ganiou DEF901 0.020.000
Kyllian Antonio DEF900 0.000.000
Jonathan Gradit DEF541 0.120.000
Ruben Aguilar MID902 0.070.532
Matthieu Udol MID8512 0.210.103
Michaël Cuisance MID840 0.000.162
Yacine Titraoui MID550 0.000.000
Florian Thauvin MID9022 0.160.455
Florian Sotoca MID7014 0.280.000
Odsonne Edouard FWD702 0.520.000
Samson Baidoo Sub360 0.000.000
Amadou Haidara Sub350 0.000.000
Franjo Ivanovic Sub200 0.000.000
Junior Kadile Sub201 0.030.000
Andrija Bulatovic Sub60 0.000.000

Starters first, then substitutes. xA is expected assists.

Before kick-off

Lens win 37% Avg odds 2.52 Our estimate 55%
Draw 26% Avg odds 3.63 Our estimate 24%
Lyon win 37% Avg odds 2.56 Our estimate 21%

Chances implied by the average closing odds, with the bookmaker margin removed. Our estimate is the figure from before kick-off. How our figures work.

Form going into the game

Last five league games before this one, oldest first. Select one to open it.

Previous and next meeting

Shots, expected goals and player data from Understat. Timeline, lineups and team statistics from Sportmonks. Results and odds from football-data.co.uk.