Lyon 4-0 Rennes: result and stats, Ligue 1
Lyon4-2-3-1

Paulo FerreiraSubstitutions
- 64'
- 73'E. Nuamah
79.22K. Boudache
266.6 - 79'M. Bidstrup
26.9T. Tessmann
66.2 - 79'
- 79'L. Openda
177.5K. Nakamura
117.0
Unused
- R. DescampsG
40 - C. MataD
22 - R. KluivertD
21 - M. OuedraogoD
76
Substitutions
- 61'
- 61'
- 62'E. Mayenda
126.3L. Blas
106.6 - 73'P. Frankowski
956.3B. Reynolds
146.3 - 73'
Unused
- N. LemaitreG
16 - A. RouaultD
24 - S. SzymanskiM
17 - H. Do MarcolinoF
65
Home

OutJ. DuranvilleMuscle Injury
OutR. HimbertInactive
OutN. KamaraInactive
OutN. TagliaficoMuscle Injury
Away
No reported injuries.

| Player | ||||||
|---|---|---|---|---|---|---|
![]() | 4 | 0 | 0,55 | +0,55 | 32/40 | 5/13 |
![]() | 5 | 4 | 3,44 | -0,56 | 32/33 | 5/6 |
Possession & Passing
Attack
Box & Quality
Defense & Discipline
Half by half
The same match, split at the break. Which half did each side actually win?
First half
Second half
xG analytics
Lyon
RennesExpected goals weighs every shot by the historic conversion rate of similar chances. Higher xG means better scoring opportunities, regardless of whether they went in.
xG race
28 shotsChance quality as it built up. A steep step is a big chance.
How those chances were made
Momentum
33 swingsWhich side was on top, minute by minute. A taller bar is heavier pressure.
Match replay
91'
4-0
90' Saved Estéban Lepaul 0.07 xG · Fast break · Right footShot map
15 v 13Lyon shoot right, Rennes left. Bigger dot = better chance.
Goal mouth
15 on target · 4 scoredWhere each shot on target crossed the line. Placement beats power.
Average positions
Each starter's average position on the ball, with the number of those actions inside the chip. Both sides attack left to right. Tap a player to see where they actually were.
An average, not a movement map: it says where a player's actions balanced out, not where they ran.
Passing network
Each player at his average position, sized by passes made. Lines join team-mates with 5 or more passes between them (fewer when a side made its first change early), thicker for more. Counted until each side's first substitution. Both sides attack left to right. Tap a player to isolate his links.
Most-connected pair: Niakhaté and Greif, 27 passes between them.
Most-connected pair: Frankowski and Cresswell, 22 passes between them.
Tactical battle
56control44

In possession
Field tilt is each side's share of play in the final third.
Out of possession
↓ Lower is better, so the longer bar always wins. PPDA is opponent passes allowed per defensive action.
Carrying
Distances are how far the ball was moved forward, not how far anybody ran.
Beating the press
A take-on is a player going past an opponent with the ball at his feet.
Threat created
xT values where a possession reached; VAEP values every action by how much it shifted the chance of a goal.
Tempo
An attack is direct when it moves upfield quickly rather than through many passes.
More match stats
Attack
Passing
Duels
Defending
Goal profile
This seasonHow often each side reaches a scoreline, across 6 matches each.
They score
They concede
Heaviest results
best 4-0 (H)·worst 1-2 (A)
best 4-1 (H)·worst 0-4 (A)
Where these sides shoot from
2025/26 seasonEach attack set against the defence it meets, zone by zone. Season shares rather than a forecast; a figure beside a share is how far it sits from the league average, shown only where the gap is worth noticing.
419 shots taken · 462 faced
481 shots taken · 408 faced
Shot locations, not player movement: where the ball was struck from, not where anybody ran. Shares are of each club's own shots, so a side that shoots often is comparable with one that does not.
Match summary
Lyon beat Rennes 4-0 at Groupama Stadium in Ligue 1. Lyon led 2-0 at half-time. Scorers: E. Nuamah (7', 30'), Z. Athekame (48'), C. Tolisso (76') for Lyon. In their last 33 meetings, Lyon have won 13, Rennes 13, with 7 drawn. Full match stats, lineups and player ratings are all on this page.
→ Double chance: Lyon or draw
Why this prediction
The factors the model weighed, each split between the two sides.
Who will win?
Cast your vote!
Head-to-headLast 34 meetings
- 19 Sept 2026
Lyon4 - 0Rennes
Ligue 1 - 3 May 2026
Lyon4 - 2Rennes
Ligue 1 - 14 Sept 2025
Rennes3 - 1Lyon
Ligue 1 - 26 Apr 2025
Lyon4 - 1Rennes
Ligue 1 - 18 Aug 2024
Rennes3 - 0Lyon
Ligue 1 - 26 Jan 2024
Lyon2 - 3Rennes
Ligue 1
Show 28 earlier meetingsHide earlier meetings
- 12 Nov 2023
Rennes0 - 1Lyon
Ligue 1 - 9 Apr 2023
Lyon3 - 1Rennes
Ligue 1 - 16 Oct 2022
Rennes3 - 2Lyon
Ligue 1 - 13 Mar 2022
Lyon2 - 4Rennes
Ligue 1 - 7 Nov 2021
Rennes4 - 1Lyon
Ligue 1 - 3 Mar 2021
Lyon1 - 0Rennes
Ligue 1 - 9 Jan 2021
Rennes2 - 2Lyon
Ligue 1 - 21 Mar 2020
Rennes- - -Lyon
Ligue 1 - 15 Dec 2019
Lyon0 - 1Rennes
Ligue 1 - 2 Apr 2019
Lyon2 - 3Rennes
Coupe de France - 29 Mar 2019
Rennes0 - 1Lyon
Ligue 1 - 5 Dec 2018
Lyon0 - 2Rennes
Ligue 1 - 11 Feb 2018
Lyon0 - 2Rennes
Ligue 1 - 11 Aug 2017
Rennes1 - 2Lyon
Ligue 1 - 2 Apr 2017
Rennes1 - 1Lyon
Ligue 1 - 11 Dec 2016
Lyon1 - 0Rennes
Ligue 1 - 13 Mar 2016
Rennes2 - 2Lyon
Ligue 1 - 22 Aug 2015
Lyon1 - 2Rennes
Ligue 1 - 23 May 2015
Rennes0 - 1Lyon
Ligue 1 - 10 Aug 2014
Lyon2 - 0Rennes
Ligue 1 - 2 Feb 2014
Rennes2 - 0Lyon
Ligue 1 - 15 Sept 2013
Lyon0 - 0Rennes
Ligue 1 - 26 May 2013
Lyon2 - 0Rennes
Ligue 1 - 11 Aug 2012
Rennes0 - 1Lyon
Ligue 1 - 1 Apr 2012
Rennes1 - 1Lyon
Ligue 1 - 18 Nov 2011
Lyon1 - 2Rennes
Ligue 1 - 19 Mar 2011
Lyon1 - 1Rennes
Ligue 1 - 6 Nov 2010
Rennes1 - 1Lyon
Ligue 1






































