Ligue 1 Regular Season - 29

Rennes 2 - 1 FT Angers

Roazhon Park

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

Futmetrix Verdict
69
FT
Sat, Apr 11
Français
Rennes
2-1
Angers
⚡ Intensity 53
⚖️ Balance 74
🏆 Stakes 51
🎲 Upset 0
Rennes secure comeback in Roazhon thriller.

Roazhon Park Erupts as Rennes Survive Angers Late Show

Highly Entertaining Futmetrix Score: 69/100. A tale of two halves that tested the nerves of every supporter in Brittany, as Rennes dug deep to overturn an early setback and claim crucial points in their European chase.

Early Setbacks and Immediate Replies

The Intensity was palpable right from the first whistle at Roazhon Park. Rennes entered the contest looking to cement their grip on fifth place, but the script was quickly torn up. In the 12th minute, a disastrous defensive mix-up saw M. Louer turn the ball into his own net, gifting Angers an unexpected advantage. Rather than capitulate, the home side dominated possession and orchestrated a swift response. Their relentless pressure paid dividends just before the half-hour mark when V. Rongier threaded a beautiful pass into the path of M. Tamari, who made no mistake to restore parity. The visitors had to absorb heavy pressure, facing a barrage of set-pieces as the corner count rapidly climbed.

Tactical Shifts and Super Subs

As the second half unfolded, the Balance of the match began to swing wildly. Rennes controlled the tempo, pinging accurate passes around the pitch, but Angers refused to go quietly into the night. Seeking an attacking spark, the visitors turned to their bench, and the substitution paid off when P. Peter made his mark. Finishing off a clever sequence involving L. Raolisoa in the 65th minute, the forward injected pure panic into the home stands. Yet, despite the chaotic scoreboard dynamics, the hosts refused to surrender their grip on the match. Rennes relied on their superior offensive output, testing the opposition goalkeeper repeatedly to seize the definitive 2-1 advantage in a thrilling showcase of resilience.

Late Drama and Penalty Heartbreak

With the Stakes reaching boiling point, the closing stages provided maximum tension. Angers desperately chased an equalizer to aid their relegation battle, and their golden opportunity arrived in the 81st minute when the referee pointed to the spot. The Upset Factor loomed large as A. Sbai stepped up, but the pressure proved too much, and the missed penalty sparked wild celebrations in the home dugout. The missed spot-kick was the final roll of the dice for the visitors, leaving them empty-handed despite a spirited away performance. For Rennes, this gritty comeback victory reinforces their status as serious contenders, proving they possess the mental fortitude to navigate treacherous league encounters.

Key Questions

Was the penalty miss by Prosper Peter the turning point?

Actually, A. Sbai missed the crucial 81st-minute penalty for Angers. That miss undoubtedly shifted momentum permanently, allowing Rennes to survive the late scare.

How did Rennes complete the comeback from behind?

After conceding an early own goal, M. Tamari quickly equalized. Rennes then utilized their overwhelming possession and passing accuracy to control the tempo and secure the win.

How did substitute Prosper Peter change the game?

Coming off the bench, P. Peter brought immediate attacking threat for Angers, scoring a goal in the 65th minute to keep the tension incredibly high.

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
59%
41%
Rennes 59%
Angers 41%
Shots
15
6
Rennes 15
Angers 6
Shots on Target
7
4
Rennes 7
Angers 4
Expected Goals (xG)
1.00
1.26
Rennes 1.00
Angers 1.26
Passes
558
379
Rennes 558
Angers 379
Pass Accuracy
88%
82%
Rennes 88%
Angers 82%
Corners
11
3
Rennes 11
Angers 3
Fouls
8
15
Rennes 8
Angers 15
Yellow Cards
0
2
Rennes 0
Angers 2
Red Cards
0
0
Rennes 0
Angers 0

Match Events

12' M. Louer
O. Camara 🟨 15'
25' M. Tamari (V. Rongier)
HT
L. Mouton P. Capelle 🔄 62'
L. Machine P. Peter 🔄 62'
P. Peter (L. Raolisoa) 65'
M. Louer 🟨 73'
73' 🔄 M. Tamari N. Mukiele
73' 🔄 A. Seidu P. Frankowski
73' 🔄 B. Embolo S. Szymanski
A. Sbai (A. Sbai) 81'
85' 🔄 L. Blas M. Nagida
B. van den Boomen G. Koyalipou 🔄 86'
A. Sbai F. Hanin 🔄 90'+3
L. Raolisoa D. Sinate 🔄 90'+3
FT

Player Cards

Our take on every player in this match

Rennes

Goalkeepers
Brice Samba
PENALTY HERO
PENALTY HERO
1
Pens Saved
1
Pens Saved
3
Saves
6.5
Rating
Defenders
Alidu Seidu
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
73
Total Mins
73
Entry
Abdelhamid Ait Boudlal
DRIBBLER
DRIBBLER
3
Dribbles
3
Dribbles
3
Attempts
100%
Success %
Lilian Brassier
MAGNET
MAGNET
91
Activity
91
Activity
89
Passes
2
Duels
Quentin Merlin
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
1
On Target
Midfielders
Ludovic Blas
ARCHITECT
ARCHITECT
5
Key Passes
5
Key Passes
0
Assists
32%
Pass Acc
Valentin Rongier
MAGNET
MAGNET
85
Activity
85
Activity
77
Passes
8
Duels
Mahdi Camara
SWEEPER
SWEEPER
5
Cleanups
5
Cleanups
4
Interceptions
1
Blocks
Mousa Tamari
FINISHER
FINISHER
1
Goals
1
Goals
3
Shots
7.6
Rating
Forwards
Breel Embolo
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
73
Total Mins
73
Entry
Esteban Lepaul
STORMTROOPER
STORMTROOPER
4
Shots
4
Shots
0
Goals
1
On Target
BENCH
Mathys Silistrie
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Anthony Rouault
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Mahamadou Nagida
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
9
Total Mins
Started
Entry
Przemysław Frankowski
FRIENDLY FIRE
FRIENDLY FIRE
Pen Given
Mistake
Pen Given
Mistake
1
Fouls
6
Rating
Sebastian Szymański
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
21
Total Mins
Started
Entry
Djaoui Cissé
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Glen Kamara
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
21
Total Mins
Started
Entry
Yassir Zabiri
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry

Angers

Goalkeepers
Hervé Koffi
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Defenders
Lilian Raolisoa
ARCHITECT
ARCHITECT
2
Key Passes
2
Key Passes
1
Assists
18%
Pass Acc
Marius Louer
FRIENDLY FIRE
FRIENDLY FIRE
Own Goal
Mistake
Own Goal
Mistake
2
Fouls
6.2
Rating
Ousmane Camara
STORMTROOPER
STORMTROOPER
1
Shots
1
Shots
0
Goals
1
On Target
Jordan Lefort
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Jacques Ekomié
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Midfielders
Louis Mouton
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
62
Total Mins
62
Entry
Branco van den Boomen
NPC
NPC
86
Minutes
86
Minutes
40%
Pass Acc
6.6
Rating
Haris Belkebla
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
94
Total Mins
Started
Entry
Forwards
Lanroy Machine
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
62
Total Mins
62
Entry
Amine Sbai
CLOSER
CLOSER
1
Late Goals
1
Late Goals
1
Late Assists
75
Minute
BENCH
Melvin Zinga
SPECTATOR
SPECTATOR
0
Saves
0
Saves
0
Conceded
0
Minutes
Florent Hanin
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
1
Total Mins
Started
Entry
Maël Gernigon
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Pierrick Capelle
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
32
Total Mins
Started
Entry
Dan Sinaté
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
1
Total Mins
Started
Entry
Emmanuel Biumla
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
0
Total Mins
Started
Entry
Prosper Peter
SUPER SUB
SUPER SUB
1
Goal
1
Goal
32
Minutes
8.2
Rating
Goduine Koyalipou
LATE SHIFT
LATE SHIFT
15
Late Mins
15
Late Mins
8
Total Mins
Started
Entry

Head to Head

Date Home Score Away Competition Venue
08/31/2025 Angers 1 - 1 Rennes Ligue 1 Stade Raymond-Kopa
03/30/2025 Angers 0 - 3 Rennes Ligue 1 Stade Raymond Kopa
12/15/2024 Rennes 2 - 0 Angers Ligue 1 Roazhon Park
07/27/2024 Rennes 2 - 1 Angers Friendlies Clubs TBC
04/30/2023 Rennes 4 - 2 Angers Ligue 1 Roazhon Park
10/23/2022 Angers 1 - 2 Rennes Ligue 1 Stade Raymond-Kopa
08/31/2025
1 - 1
Ligue 1 Stade Raymond-Kopa
03/30/2025
0 - 3
Ligue 1 Stade Raymond Kopa
12/15/2024
2 - 0
Ligue 1 Roazhon Park
07/27/2024
2 - 1
Friendlies Clubs TBC
04/30/2023
4 - 2
Ligue 1 Roazhon Park
10/23/2022
1 - 2
Ligue 1 Stade Raymond-Kopa
Rennes Win
Angers Win
Draw

League Standings

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