Rennes stunned Paris St-Germain on penalties to win their first French Cup since 1971.
Ligue 1 champions PSG, who had won the cup for the past four years, led 2-0 through a Dani Alves volley and chip from Neymar, starting his first game since January following a foot injury.
But Rennes levelled through a Presnel Kimpembe own goal and Mexer header.
Kylian Mbappe was sent off for a bad foul in extra time, while Christopher Nkunku missed the decisive penalty.
PSG, who were looking for a fourth domestic double in five years, looked in complete control as they took a 2-0 lead within 21 minutes.
Alves hit a stunning volley from Neymar’s corner, before the forward lobbed goalkeeper Tomas Koubek from the edge of the box to double their lead.
But the game was turned around when Kimpembe turned a cross into his own net and Mexer scored the equaliser.
Thomas Tuchel’s champions had a chance to win the game in extra time when Mbappe hit the post from close range.
And they had the 20-year-old sent off two minutes from the end after a dangerous foul on the side of Damien da Silva’s knee.
Just before the shootout, Nkunku, who has been linked with a move to Rennes this summer, replaced teenager Moussa Diaby – who had only been on the pitch for 15 minutes.
And after the first 11 players scored their penalties, the midfielder smashed a dreadful kick over the bar as mid-table Rennes won the cup for the third time in their history.
It was a first cup final defeat since 2011 for PSG, who had won five consecutive French League Cups before going out in the quarter-finals this year.
- 3Da Silva
- 4SitoeBooked at 68mins
- 15BensebainiBooked at 112mins
- 21AndréBooked at 97mins
- 8GrenierBooked at 24mins
- 14BourigeaudBooked at 71minsSubstituted forLea Silikiat 105′minutesBooked at 118mins
- 18Ben Arfa
- 11NiangBooked at 107mins
- 12Lea Siliki
- 22Del Castillo
- 31DagbaSubstituted forDiabyat 105′minutesSubstituted forNkunkuat 120+1′minutes
- 13Alves da Silva
- 6VerrattiBooked at 29mins
- 23DraxlerSubstituted forCavaniat 90′minutes
- 11Di MaríaBooked at 55minsSubstituted forParedesat 75′minutesBooked at 95mins
- 10NeymarBooked at 44mins
- 7MbappéBooked at 118mins
- Ruddy Buquet
- Shots on Target