Ligue 1 Regular Season - 23

Toulouse 1 - 1 FT Paris FC

Stadium de Toulouse

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

Futmetrix Verdict
58
FT
Sat, Feb 21
Français
Toulouse
1-1
Paris FC
⚡ Intensity 62
⚖️ Balance 40
🏆 Stakes 0
🎲 Upset 39
Trapp's heroics nearly stall Toulouse

Trapp’s Heroics Deny Toulouse in Stadium Siege

Worth Watching Futmetrix Score: 58/100. A relentless attacking display from the hosts was nearly thwarted by a legendary goalkeeping performance before a late strike restored some justice to the scoreline.

The Siege of Stadium de Toulouse

From the opening moments at Stadium de Toulouse, the hosts established a dominant tempo that left the visitors retreating into a defensive shell. The Intensity of the Toulouse press forced numerous turnovers, resulting in a staggering 23 shots across the ninety minutes. Early on, D. Methalie appeared to have broken the deadlock in the 24th minute, but the roar of the crowd was silenced by a VAR intervention for offside. Despite the setback, the home side continued to pile on the pressure, winning 12 corners and controlling 55% of the ball. However, they found a disciplined Moustapha Mbow standing tall in the heart of the defense, blocking shots and organizing a desperate rearguard action.

The Parisian Wall

Against the run of play, the Upset factor came into full effect. In the 39th minute, a rare clinical counter-attack saw A. Gory provide a pinpoint cross for Marshall Munetsi, who finished expertly to give Paris FC the lead. This goal completely shifted the Balance of the match, allowing the visitors to sit even deeper and rely on the brilliance of Kevin Trapp. The veteran German goalkeeper produced an inspired performance, making 9 saves to keep the hosts at bay. From point-blank headers to curling efforts from distance, Trapp seemed invincible, single-handedly protecting a lead that felt increasingly precarious as the second half wore on.

Vignolo’s Late Rescue

As the clock ticked toward full-time, the frustration within the stadium was palpable. Toulouse had accumulated an xG of 3.01 without finding the net, but the introduction of fresh legs eventually paid dividends. In the 87th minute, substitute J. Vignolo, found by a sharp pass from S. Hidalgo, finally managed to beat the sprawling Trapp to level the scores. While Toulouse will feel they dropped two points given their overwhelming dominance, the draw prevents a damaging defeat. For Paris FC, the point provides a small boost in their fight to move away from the bottom of the table, though the high Stakes of Ligue 1 survival will require more than just defensive heroics in the weeks to come.

Key Questions

What made Kevin Trapp the Man of the Match?

Trapp delivered a masterclass with 9 saves, consistently denying Toulouse despite facing a barrage of 23 shots and constant set-piece pressure.

Did Toulouse deserve the late equalizer?

Yes. With an xG of 3.01 and 10 shots on target, Toulouse's dominance made an equalizer the minimum they deserved for their attacking efforts.

How did substitute J. Vignolo change the game?

Coming on in the 61st minute, Vignolo provided the clinical touch that his teammates lacked, scoring the vital 87th-minute equalizer.

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
55%
45%
Toulouse 55%
Paris FC 45%
Shots
23
5
Toulouse 23
Paris FC 5
Shots on Target
10
2
Toulouse 10
Paris FC 2
Expected Goals (xG)
3.01
0.82
Toulouse 3.01
Paris FC 0.82
Passes
469
383
Toulouse 469
Paris FC 383
Pass Accuracy
85%
80%
Toulouse 85%
Paris FC 80%
Corners
12
3
Toulouse 12
Paris FC 3
Fouls
13
6
Toulouse 13
Paris FC 6
Yellow Cards
1
4
Toulouse 1
Paris FC 4
Red Cards
0
0
Toulouse 0
Paris FC 0

Match Events

24' D. Methalie
34' 🟨 D. Methalie
M. Munetsi (A. Gory) 39'
D. Coppola 🟨 44'
HT
I. Kebbal 🟨 54'
61' 🔄 W. Kamanzi J. Vignolo
64' 🔄 Emersonn J. Russell-Rowe
A. Gory T. De Smet 🔄 67'
J. Ikone L. Koleosho 🔄 67'
M. Munetsi V. Marchetti 🔄 67'
K. Trapp 🟨 68'
Otavio 🟨 77'
C. Immobile J. Krasso 🔄 81'
I. Kebbal M. Simon 🔄 85'
86' 🔄 P. Demba M. Sauer
87' J. Vignolo (S. Hidalgo)
M. Simon 🟨 90'+7
FT

Player Cards

Our take on every player in this match

Toulouse

Goalkeepers
Guillaume Restes
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Defenders
Djibril Sidibé
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Charlie Cresswell
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
0
On Target
Rasmus Nicolaisen
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Midfielders
Warren Kamanzi
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
61
Total Mins
61
Entry
Cristian Cásseres Jr.
ARCHITECT
ARCHITECT
4
Key Passes
4
Key Passes
0
Assists
63%
Pass Acc
Pape Diop
👻 Invisible Nothing to note
Dayann Methalie
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Forwards
Santiago Hidalgo
ARCHITECT
ARCHITECT
4
Key Passes
4
Key Passes
1
Assists
17%
Pass Acc
Yann Gboho
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Emersonn
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
64
Total Mins
64
Entry
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
Alexis Vossah
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
9
Total Mins
Started
Entry
Julian Vignolo
CLUTCH HERO
CLUTCH HERO
87
Goal Time
87
Goal Time
Goal
Impact
7
Rating
Jacen Russell-Rowe
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
31
Total Mins
Started
Entry

Paris FC

Goalkeepers
Kevin Trapp
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Defenders
Alimami Gory
PROVIDER
PROVIDER
1
Assists
1
Assists
1
Key Passes
6.9
Rating
Moustapha Mbow
WALL
WALL
0
Dribbled Past
0
Dribbled Past
5
Tackles
64%
Duel Win %
Diego Coppola
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Otávio
WALL
WALL
0
Dribbled Past
0
Dribbled Past
2
Tackles
64%
Duel Win %
Nhoa Sangui
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Midfielders
Ilan Kebbal
LATE SHIFT
LATE SHIFT
5
Late Mins
5
Late Mins
85
Total Mins
85
Entry
Pierre Lees Melou
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
95
Total Mins
Started
Entry
Marshall Munetsi
SNIPER
SNIPER
100%
Conversion
100%
Conversion
1
Goals
1
Shots
Jonathan Ikoné
PROVOCATEUR
PROVOCATEUR
3
Fouls Won
3
Fouls Won
4
Duels Won
0
Pens Won
Forwards
Ciro Immobile
LATE SHIFT
LATE SHIFT
9
Late Mins
9
Late Mins
81
Total Mins
81
Entry
BENCH
Obed Nkambadio
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Thibault De Smet
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
28
Total Mins
Started
Entry
Timothée Kolodziejczak
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Vincent Marchetti
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
28
Total Mins
Started
Entry
Luca Koleosho
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
28
Total Mins
Started
Entry
Julien López
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Jean-Philippe Krasso
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
14
Total Mins
Started
Entry
Willem Geubbels
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Moses Simon
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
10
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
13/12/2025 Paris FC 0 - 3 Toulouse Ligue 1 Stade Jean Bouin
02/04/2022 Toulouse 2 - 1 Paris FC Ligue 2 Stadium de Toulouse
23/10/2021 Paris FC 2 - 2 Toulouse Ligue 2 Stade Sébastien-Charléty
01/05/2021 Paris FC 3 - 1 Toulouse Ligue 2 Stade Sébastien-Charléty
05/01/2021 Toulouse 1 - 0 Paris FC Ligue 2 Stadium de Toulouse
13/12/2025
Ligue 1 Stade Jean Bouin
02/04/2022
Ligue 2 Stadium de Toulouse
23/10/2021
Ligue 2 Stade Sébastien-Charléty
01/05/2021
Ligue 2 Stade Sébastien-Charléty
05/01/2021
Ligue 2 Stadium de Toulouse
Toulouse Win
Paris FC Win
Draw

League Standings

Pos Team P Pts GF GA GD Form
1 Paris Saint Germain 23 54 52 19 +33 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)WAuxerre 0 - 1 Paris Saint Germain (23-01-2026)
2 Lens 23 52 44 20 +24 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)LMarseille 3 - 1 Lens (24-01-2026)
3 Lyon 23 45 37 23 +14 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)WMetz 2 - 5 Lyon (25-01-2026)
4 Marseille 23 40 48 31 +17 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)WMarseille 3 - 1 Lens (24-01-2026)
5 Lille 23 37 36 31 +5 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)LLille 1 - 4 Strasbourg (25-01-2026)
6 Rennes 23 37 37 35 +2 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)LRennes 0 - 2 Lorient (24-01-2026)
7 Strasbourg 23 34 39 30 +9 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)WLille 1 - 4 Strasbourg (25-01-2026)
8 Monaco 23 34 38 36 +2 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)DLe Havre 0 - 0 Monaco (24-01-2026)
9 Lorient 23 32 32 36 -4 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)WRennes 0 - 2 Lorient (24-01-2026)
10 Toulouse 23 31 33 27 +6 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)WStade Brestois 29 0 - 2 Toulouse (25-01-2026)
11 Stade Brestois 29 23 30 31 34 -3 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)LStade Brestois 29 0 - 2 Toulouse (25-01-2026)
12 Angers 23 29 22 28 -6 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)DParis FC 0 - 0 Angers (25-01-2026)
13 Le Havre 23 26 20 29 -9 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)DLe Havre 0 - 0 Monaco (24-01-2026)
14 Nice 23 24 30 43 -13 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)WNantes 1 - 4 Nice (25-01-2026)
15 Paris FC 23 23 27 40 -13 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)DParis FC 0 - 0 Angers (25-01-2026)
16 Auxerre 23 17 17 33 -16 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)LAuxerre 0 - 1 Paris Saint Germain (23-01-2026)
17 Nantes 23 17 22 40 -18 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)LNantes 1 - 4 Nice (25-01-2026)
18 Metz 23 13 22 52 -30 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)LMetz 2 - 5 Lyon (25-01-2026)