Ligue 1 Regular Season - 24

Rennes 1 - 0 FT Toulouse

Roazhon Park

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

Futmetrix Verdict
21
FT
Sat, Feb 28
Français
Rennes
1-0
Toulouse
⚡ Intensity 10
⚖️ Balance 20
🏆 Stakes 33
🎲 Upset 0
Nordin clinical as Rennes edge Toulouse.

Rennes Dominate Despite Narrow Margin

Skip It Futmetrix Score: 21/100. Our take is simple: this was a professional performance where Rennes dominated the ball to protect their European ambitions, leaving a toothless Toulouse with nothing to show for their trip.

A Tactical Stranglehold at Roazhon Park

From the opening exchanges, Rennes established a clear territorial advantage, dictating the tempo with patient build-up play. The Stakes were high for the home side, currently sitting 5th in the table, and they played with the confidence of a team chasing Champions League football. With 65% possession, they dominated the midfield, forcing Toulouse into a defensive low block that rarely looked capable of breaking out. The Intensity was focused in the middle of the pitch, where Rennes recovered the ball quickly, preventing any meaningful counter-attacks from the visitors. It was a display of control that suffocated the game early on.

The Moment of Quality

The breakthrough arrived in the 27th minute, shifting the Balance of the tie firmly in favour of the hosts. Arnaud Nordin found space in the box and finished clinically, capitalizing on one of the few clear-cut openings in a tightly contested first half. While Toulouse goalkeeper Guillaume Restes attempted to organize his backline, the sheer weight of pressure from Rennes proved too much. This goal forced Toulouse to reconsider their defensive stance, but they lacked the creative spark to truly test the Rennes defense. The visitors struggled to transition from defense to attack, often losing possession before reaching the final third.

Stalemate and Security

The second half saw Rennes manage the lead with expert precision, effectively killing the game by keeping the ball. There was no late Upset on the cards as Toulouse managed only a single shot on target throughout the entire match. The Intensity of the game dropped as the minutes ticked away, with Rennes content to play keep-away and Toulouse appearing resigned to their fate. This 1-0 result at Roazhon Park reinforces Rennes' position in the Europa League zone, while Toulouse continues to drift in mid-table obscurity. It wasn't a classic for the neutrals, but for the home fans, it was a vital three points in a demanding season.

Key Questions

Who was the match-winner for Rennes?

Arnaud Nordin scored the decisive goal in the 27th minute to secure the win.

How much possession did Rennes have?

Rennes controlled the match with 65% possession compared to Toulouse's 35%.

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
65%
35%
Rennes 65%
Toulouse 35%
Shots
10
8
Rennes 10
Toulouse 8
Shots on Target
2
1
Rennes 2
Toulouse 1
Expected Goals (xG)
0.92
0.40
Rennes 0.92
Toulouse 0.40
Passes
669
359
Rennes 669
Toulouse 359
Pass Accuracy
86%
75%
Rennes 86%
Toulouse 75%
Corners
6
1
Rennes 6
Toulouse 1
Fouls
9
11
Rennes 9
Toulouse 11
Yellow Cards
1
3
Rennes 1
Toulouse 3
Red Cards
0
0
Rennes 0
Toulouse 0

Match Events

24' 🟨 E. Lepaul
27' A. Nordin
P. Demba 🟨 42'
C. Cresswell 🟨 45'+1
HT
J. Vignolo Emersonn 🔄 46'
A. Vossah 🟨 62'
73' 🔄 S. Szymanski D. Cisse
73' 🔄 M. Tamari L. Blas
A. Vossah M. Sauer 🔄 74'
W. Kamanzi J. Russell-Rowe 🔄 81'
81' 🔄 E. Lepaul B. Embolo
90' 🔄 A. Nordin N. Mukiele
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
92
Total Mins
Started
Entry
Defenders
Mahamadou Nagida
MAGNET
MAGNET
91
Activity
91
Activity
79
Passes
12
Duels
Anthony Rouault
MAGNET
MAGNET
119
Activity
119
Activity
111
Passes
8
Duels
Lilian Brassier
MAGNET
MAGNET
104
Activity
104
Activity
100
Passes
4
Duels
Quentin Merlin
WALL
WALL
0
Dribbled Past
0
Dribbled Past
3
Tackles
50%
Duel Win %
Midfielders
Valentin Rongier
MAGNET
MAGNET
93
Activity
93
Activity
78
Passes
15
Duels
Mahdi Camara
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
92
Total Mins
Started
Entry
Mousa Tamari
MAGNET
MAGNET
49
Activity
49
Activity
41
Passes
8
Duels
Sebastian Szymański
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
4
Duels Won
0
Pens Won
Arnaud Nordin
SNIPER
SNIPER
100%
Conversion
100%
Conversion
1
Goals
1
Shots
Forwards
Esteban Lepaul
LATE SHIFT
LATE SHIFT
9
Late Mins
9
Late Mins
81
Total Mins
81
Entry
BENCH
Mathys Silistrie
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Alidu Seidu
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Abdelhamid Ait Boudlal
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
19
Total Mins
Started
Entry
Ludovic Blas
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
19
Total Mins
Started
Entry
Breel Embolo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
11
Total Mins
Started
Entry
Henrick Do Marcolino
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Nordan Mukiele
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
2
Total Mins
Started
Entry
Yassir Zabiri
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry

Toulouse

Goalkeepers
Guillaume Restes
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
92
Total Mins
Started
Entry
Defenders
Djibril Sidibé
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
92
Total Mins
Started
Entry
Charlie Cresswell
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
92
Total Mins
Started
Entry
Mark McKenzie
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
92
Total Mins
Started
Entry
Midfielders
Warren Kamanzi
LATE SHIFT
LATE SHIFT
9
Late Mins
9
Late Mins
81
Total Mins
81
Entry
Alexis Vossah
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
74
Total Mins
74
Entry
Pape Diop
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
92
Total Mins
Started
Entry
Dayann Methalie
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
92
Total Mins
Started
Entry
Forwards
Julian Vignolo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
45
Total Mins
46
Entry
Yann Gboho
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
92
Total Mins
Started
Entry
Santiago Hidalgo
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
8
Duels Won
0
Pens Won
BENCH
Kjetil Haug
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Naime Said Mchindra
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Gaëtan Bakhouche
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Thibaud Garondo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Seny Koumbassa
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Mario Sauer
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
18
Total Mins
Started
Entry
Noah Lahmadi
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Jacen Russell-Rowe
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
11
Total Mins
Started
Entry
Emersonn
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
47
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
29/10/2025 Toulouse 2 - 2 Rennes Ligue 1 Stadium de Toulouse
03/05/2025 Toulouse 2 - 1 Rennes Ligue 1 Stadium de Toulouse
10/11/2024 Rennes 0 - 2 Toulouse Ligue 1 Roazhon Park
13/04/2024 Rennes 1 - 2 Toulouse Ligue 1 Roazhon Park
17/12/2023 Toulouse 0 - 0 Rennes Ligue 1 Stadium de Toulouse
12/02/2023 Toulouse 3 - 1 Rennes Ligue 1 Stadium de Toulouse
12/11/2022 Rennes 2 - 1 Toulouse Ligue 1 Roazhon Park
29/02/2020 Toulouse 0 - 2 Rennes Ligue 1 Stadium de Toulouse
27/10/2019 Rennes 3 - 2 Toulouse Ligue 1 Roazhon Park
05/05/2019 Toulouse 2 - 2 Rennes Ligue 1 Stadium de Toulouse
29/10/2025
Ligue 1 Stadium de Toulouse
03/05/2025
Ligue 1 Stadium de Toulouse
10/11/2024
Ligue 1 Roazhon Park
13/04/2024
Ligue 1 Roazhon Park
17/12/2023
Ligue 1 Stadium de Toulouse
12/02/2023
Ligue 1 Stadium de Toulouse
12/11/2022
Ligue 1 Roazhon Park
29/02/2020
Ligue 1 Stadium de Toulouse
27/10/2019
Ligue 1 Roazhon Park
05/05/2019
Ligue 1 Stadium de Toulouse
Rennes Win
Toulouse Win
Draw

League Standings

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