Ligue 1 Regular Season - 27

Rennes 0 - 0 FT Metz

Roazhon Park

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

Futmetrix Verdict
38
FT
Sun, Mar 22
Français
Rennes
0-0
Metz
⚡ Intensity 26
⚖️ Balance 0
🏆 Stakes 42
🎲 Upset 95
Pape Sy denies dominant Rennes.

Pape Sy Masterclass Frustrates Rennes Siege

Average Entertainment Futmetrix Score: 38/100. A relentless attacking display from the hosts was met by an impenetrable wall, proving that even desperate relegation battlers can rewrite the script on their day.

The Roazhon Siege

The hosts immediately pinned their visitors back at Roazhon Park, establishing an attacking rhythm that kept the Intensity at maximum capacity from the opening exchanges. Rennes completely controlled possession at 68 percent, turning the pitch into a half-court tactical exercise. Valentin Rongier pulled the strings in the central areas with brilliant distribution, continuously feeding the wide channels to stretch the opposing shape. Defending incredibly deep, Metz braced for impact as endless crosses rained into their crowded penalty area. The overlapping, aggressive runs of Quentin Merlin stretched the defensive lines to their absolute breaking point, generating wave after wave of sustained pressure. Despite unleashing a massive barrage of 25 attempts toward the target, the hosts found themselves totally frustrated by a stubborn rearguard that simply refused to buckle under the sheer weight of the offensive onslaught.

The Immovable Object

The turning point of this gripping encounter was less a single moment and more a continuous exhibition of remarkable goalkeeping defiance. Pape Sy stood incredibly tall between the posts, producing eight monumental saves to single-handedly preserve the fragile deadlock. His individual heroics drastically elevated the Upset Factor, as the resilient visitors absorbed the heavy fire without cracking under the pressure. The escalating tension finally snapped in the 89th minute when A. Rouault scrambled the ball over the line, sending the desperate home crowd into absolute raptures. However, those joyous celebrations were immediately cut short by the raising of the offside flag. The VAR intervention definitively confirmed the agonizingly tight decision, wiping out what surely would have been the decisive killer strike and granting the exhausted visitors a truly massive, match-defining reprieve.

A Point of Defiance

When the final whistle echoed around the stadium, the stark contrast in body language told the complete story of the afternoon. The overall Balance of play heavily favoured the ambitious home side, yet they walked away empty-handed in their desperate pursuit of European qualification spots. For the battered visitors, currently rooted to the absolute bottom of the table, this hard-fought draw represents a massive glimmer of hope in their dire relegation battle. The Stakes were undeniably huge for both clubs, but the tactical execution and sheer willpower belonged entirely to the defensive underdogs. Escaping Roazhon Park with a miraculous clean sheet after conceding so much critical territory requires immense collective discipline, leaving the frustrated hosts to ponder exactly how they failed to convert their overwhelming statistical superiority into a vital victory.

Key Questions

What made Pape Sy the Man of the Match?

The Metz goalkeeper produced a heroic eight-save performance, single-handedly repelling a massive 25-shot barrage to secure a crucial away point for his struggling side.

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
68%
32%
Rennes 68%
Metz 32%
Shots
25
7
Rennes 25
Metz 7
Shots on Target
8
2
Rennes 8
Metz 2
Expected Goals (xG)
1.46
0.33
Rennes 1.46
Metz 0.33
Passes
594
285
Rennes 594
Metz 285
Pass Accuracy
89%
72%
Rennes 89%
Metz 72%
Corners
8
2
Rennes 8
Metz 2
Fouls
13
13
Rennes 13
Metz 13
Yellow Cards
1
3
Rennes 1
Metz 3
Red Cards
0
0
Rennes 0
Metz 0

Match Events

A. Toure 🟨 32'
33' 🟨 A. Rouault
HT
67' 🔄 S. Szymanski D. Cisse
67' 🔄 P. Frankowski M. Nagida
67' 🔄 A. Nordin M. Tamari
74' 🔄 L. Blas B. Embolo
T. Yegbe 🟨 78'
J. Deminguet B. Munongo 🔄 80'
G. Tsitaishvili N. Mbala 🔄 85'
85' 🔄 M. Camara Y. Zabiri
S. Sane 🟨 88'
89' A. Rouault
FT

Player Cards

Our take on every player in this match

Rennes

Goalkeepers
Brice Samba
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Defenders
Przemysław Frankowski
ARCHITECT
ARCHITECT
6
Key Passes
6
Key Passes
0
Assists
54%
Pass Acc
Anthony Rouault
WALL
WALL
0
Dribbled Past
0
Dribbled Past
2
Tackles
42%
Duel Win %
Lilian Brassier
MAGNET
MAGNET
86
Activity
86
Activity
77
Passes
9
Duels
Quentin Merlin
WALL
WALL
0
Dribbled Past
0
Dribbled Past
5
Tackles
67%
Duel Win %
Midfielders
Sebastian Szymański
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
67
Total Mins
67
Entry
Valentin Rongier
ARCHITECT
ARCHITECT
3
Key Passes
3
Key Passes
0
Assists
81%
Pass Acc
Mahdi Camara
LATE SHIFT
LATE SHIFT
5
Late Mins
5
Late Mins
85
Total Mins
85
Entry
Forwards
Ludovic Blas
STORMTROOPER
STORMTROOPER
3
Shots
3
Shots
0
Goals
0
On Target
Esteban Lepaul
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Arnaud Nordin
STORMTROOPER
STORMTROOPER
3
Shots
3
Shots
0
Goals
1
On Target
BENCH
Mathys Silistrie
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Mahamadou Nagida
STORMTROOPER
STORMTROOPER
2
Shots
2
Shots
0
Goals
1
On Target
Abdelhamid Ait Boudlal
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Alidu Seidu
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Djaoui Cissé
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
28
Total Mins
Started
Entry
Glen Kamara
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Mousa Tamari
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
28
Total Mins
Started
Entry
Breel Embolo
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
3
Duels Won
0
Pens Won
Yassir Zabiri
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
10
Total Mins
Started
Entry

Metz

Goalkeepers
Pape Sy
OCTOPUS
OCTOPUS
8
Saves
8
Saves
0
Conceded
100%
Save %
Defenders
Koffi Kouao
WALL
WALL
0
Dribbled Past
0
Dribbled Past
5
Tackles
83%
Duel Win %
Sadibou Sané
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Terry Yegbe
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Maxime Colin
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Midfielders
Jean-Philippe Gbamin
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Alpha Touré
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Bouna Sarr
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
5
Duels Won
0
Pens Won
Jessy Deminguet
LATE SHIFT
LATE SHIFT
10
Late Mins
10
Late Mins
80
Total Mins
80
Entry
Georgiy Tsitaishvili
LATE SHIFT
LATE SHIFT
5
Late Mins
5
Late Mins
85
Total Mins
85
Entry
Forwards
Habib Diallo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
BENCH
Jonathan Fischer
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Ousmane Ba
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Urie-Michel Mboula
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Fodé Ballo-Touré
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Believe Munongo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
15
Total Mins
Started
Entry
Giorgi Abuashvili
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Giorgi Kvilitaia
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Nathan Mbala
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
10
Total Mins
Started
Entry
Lucas Michal
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
28/11/2025 Metz 0 - 1 Rennes Ligue 1 Stade Saint-Symphorien
04/05/2024 Metz 2 - 3 Rennes Ligue 1 Stade Saint-Symphorien
13/08/2023 Rennes 5 - 1 Metz Ligue 1 Roazhon Park
20/03/2022 Rennes 6 - 1 Metz Ligue 1 Roazhon Park
17/10/2021 Metz 0 - 3 Rennes Ligue 1 Stade Saint-Symphorien
20/03/2021 Metz 1 - 3 Rennes Ligue 1 Stade Saint-Symphorien
23/12/2020 Rennes 1 - 0 Metz Ligue 1 Roazhon Park
04/12/2019 Metz 0 - 1 Rennes Ligue 1 Stade Saint-Symphorien
14/04/2018 Rennes 1 - 2 Metz Ligue 1 Roazhon Park
28/11/2025
0 - 1
Ligue 1 Stade Saint-Symphorien
04/05/2024
2 - 3
Ligue 1 Stade Saint-Symphorien
13/08/2023
5 - 1
Ligue 1 Roazhon Park
20/03/2022
6 - 1
Ligue 1 Roazhon Park
17/10/2021
0 - 3
Ligue 1 Stade Saint-Symphorien
20/03/2021
1 - 3
Ligue 1 Stade Saint-Symphorien
23/12/2020
1 - 0
Ligue 1 Roazhon Park
04/12/2019
0 - 1
Ligue 1 Stade Saint-Symphorien
14/04/2018
1 - 2
Ligue 1 Roazhon Park
Rennes Win
Metz Win
Draw

League Standings

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