Stade Rennes beat Ligue 1 champions Paris Saint-Germain 6-5 on penalties following a 2-2 draw after extra time on Saturday to claim their third Coupe de France title.
Thomas Tuchel's side, French Cup winners for the last four years, were 2-0 up after 35 minutes following goals by Dani Alves and Neymar, only for Presnel Kimpembe to score an own goal before Mexer equalised to send the game into extra time.
Christopher Nkunku missed his spot-kick to hand Rennes their first Cup title since 1971, leaving PSG with only the Ligue 1 trophy at the end of a season in which they exited the Champions League at the last-16 stage and lost their League Cup crown.
A week after making his comeback from a three-month injury layoff, Brazil forward Neymar was a constant threat as he gears up for the Copa America. But his teammate Kylian Mbappe lost his nerve after a disappointing night at the Stade de France and was sent off for a stamp on Damien Da Silva's knee before the shootout leaving his team short-handed.
Rennes, who eliminated Lille and Olympique Lyonnais en route to the final, looked out of sorts after conceding two early goals but Kimpembe's own goal put them back into contention and proved a turning-point in an entertaining game.
"It's an outstanding performance, the fans had been waiting for this for such a long time," said Rennes striker Mbaye Niang. "We showed character, it's a deserved win."
Tuchel struggled to understand the loss.
"It's hard to explain, I have no explanation. We lost our concentration," he told a news conference after PSG failed to win multiple trophies in a season for the first time since 2012-13.
"It's too soon to assess our season, I need a few days to think about it."
PSG made the perfect start when Alves's volley from 20 metres put them ahead in the 13th minute and Neymar doubled the lead with a fine lob after being played through by Angel Di Maria.
But Rennes, 11th in Ligue 1, pulled one back five minutes before the interval when Kimpembe deflected Hamari Traore's cross into his own net.
It was the first goal PSG had conceded in the competition this season and they let in another 21 minutes into the second half when Mexer headed home at the near post from Clement Grenier's corner.
PSG missed several chances through Neymar and Mbappe and Tuchel brought Edinson Cavani on for Julian Draxler in extra time.
Eight minutes into extra time, Mbappe collected a through ball from Neymar but his attempt crashed on to the far post, prompting a protest from Cavani who was unmarked in an ideal position to tap in a potential cross.
PSG choked in key moments this campaign, knocked out of the Champions League by Manchester United after building a two-goal advantage at Old Trafford and thrashed 5-1 at second-placed Lille on a night they were hoping to seal the Ligue 1 title.
It's the first time since the 2012-13 season that PSG have failed to win multiple trophies.