Kylian Mbappe missed the crucial kick as Switzerland beat France on penalties in the Euro 2020 last 16 after a classic European Championship game.
The Swiss had been seconds away from elimination during 90 minutes but go through to face Spain after progressing from a major tournament knockout game for the first time since 1938.
Haris Seferovic headed the Swiss ahead and they had a penalty saved that could have made it 2-0 before Karim Benzema scored twice and Paul Pogba put France 3-1 up with a screamer.
Seferovic headed in his second goal of the game for Switzerland and substitute Mario Gavranovic hammered in a last-minute equaliser to send the game to extra time.
Mbappe missed a couple of big chances for the world champions in extra time and Olivier Giroud had a header saved in the final minute.
Paris St-Germain forward Mbappe was the only player to fail to score in the shootout, after an excellent Yann Sommer save.
Switzerland play Spain, who also came through a thriller - 5-3 after extra time against Croatia - in the quarter-final in St Petersburg on Friday.
This is the biggest shock of Euro 2020 so far, with world champions France having been tipped to win the tournament by 12 of 15 BBC pundits before it started.
Switzerland's finest hour?
The last time Switzerland were in the quarter-finals of a major tournament was the 1954 World Cup that they hosted.
They had not progressed through a knockout game since the 1938 World Cup.
It could all have been so different as they faced elimination in the group stage after picking up one point from their opening two games.
Manager Vladimir Petkovic wrote an open letter in a Swiss newspaper apologising to fans and asking them to back the team against Turkey. They won that game and reached the last 16 as one of the best third-placed teams.
Petkovic's side fully deserved their half-time lead against France thanks to Seferovic's header from a cross by Zuber, his fourth assist of Euro 2020. That was the first time Switzeland have ever taken the lead in a competitive game against France.
They missed a glorious chance to go 2-0 up when Zuber was chopped down by Benjamin Pavard and a penalty was given by the VAR, but Ricardo Rodriguez's weak kick was well saved by Hugo Lloris.
Four minutes and three seconds later they trailed through a Benzema double and it looked all over when Pogba scored.
But just as Croatia did against Spain earlier in the day, Switzerland scored twice in the final 10 minutes to force extra time.
Seferovic headed in for his third goal of the tournament and Gavranovic latched on to Granit Xhaka's perfect pass to score in the 90th minute.
They had few chances to score in extra time but they tucked away all five penalties in the shootout to progress to Friday's quarter-final in Russia.
France fail to take advantage of comeback
France were wretched in the first half as Didier Deschamps tried a three-man defence - a system he barely ever uses - because of injuries to two of their left-backs.
He abandoned that midway through the first half with Les Bleus trailing 1-0 and in danger of going behind by more.
It looked as if 243 seconds in the second half was their get-out-of-jail-free card. That was the time between Lloris' penalty save at 1-0 and Benzema putting them 2-1 up.
Benzema's first was sensational, as he controlled Mbappe's pass with a backheel flick before clipping the ball past Sommer.
He then headed in at the back post from Antoine Griezmann's deflected cross.
Pogba scored one of the goals of the tournament as he found the top corner from 30 yards out.
They looked completely comfortable then - but bottled it as the Swiss came back. Kingsley Coman did almost win it for them with the last kick of the 90 minutes but hit the crossbar.
And so it came to penalties and Mbappe - one of the stars of France's World Cup win - ended Euro 2020 with no goals and the penalty miss that eliminated them.
They never got going in the Euros - and now the only place they are going is home.
Player of the match
XhakaGranit Xhaka
with an average of 8.51
- FranceFranceFrance
- SwitzerlandSwitzerlandSwitzerland
France
Avg
Squad number19Player nameBenzema
Average rating
7.13
Squad number6Player namePogba
Average rating
6.96
Squad number13Player nameKanté
Average rating
6.52
Squad number1Player nameLloris
Average rating
5.87
Squad number7Player nameGriezmann
Average rating
5.58
Squad number20Player nameComan
Average rating
5.24
Squad number4Player nameVarane
Average rating
5.20
Squad number14Player nameRabiot
Average rating
5.04
Squad number3Player nameKimpembe
Average rating
4.86
Squad number26Player nameThuram
Average rating
4.84
Squad number2Player namePavard
Average rating
4.59
Squad number17Player nameSissoko
Average rating
4.57
Squad number10Player nameMbappé
Average rating
4.44
Squad number5Player nameLenglet
Average rating
4.33
Switzerland
Avg
Squad number10Player nameXhaka
Average rating
8.51
Squad number9Player nameSeferovic
Average rating
8.46
Squad number1Player nameSommer
Average rating
8.11
Squad number19Player nameGavranovic
Average rating
7.94
Squad number14Player nameZuber
Average rating
7.80
Squad number7Player nameEmbolo
Average rating
7.60
Squad number2Player nameMbabu
Average rating
7.60
Squad number23Player nameShaqiri
Squad number22Player nameSchär
Average rating
7.46
Squad number11Player nameVargas
Average rating
7.42
Squad number5Player nameAkanji
Average rating
7.40
Squad number4Player nameElvedi
Average rating
7.32
Squad number18Player nameMehmedi
Average rating
7.23
Squad number8Player nameFreuler
Average rating
7.07
Squad number16Player nameFassnacht
Average rating
6.99
Squad number3Player nameWidmer
Average rating
6.91
Squad number13Player nameRodríguez
Average rating
6.34
- Line-ups
- Match Stats
- Live Text
Line-ups
France
Formation 3-5-2
1Lloris
4Varane5Lenglet3Kimpembe
2Pavard6Pogba13Kanté7Griezmann14Rabiot
19Benzema10Mbappé
- 1Lloris
- 4VaraneBooked at 30mins
- 5LengletSubstituted forComanat 45'minutesBooked at 88minsSubstituted forThuramat 111'minutes
- 3Kimpembe
- 2PavardBooked at 91mins
- 6Pogba
- 13Kanté
- 7GriezmannSubstituted forSissokoat 88'minutes
- 14Rabiot
- 19BenzemaSubstituted forGiroudat 94'minutes
- 10Mbappé
Substitutes
- 8Lemar
- 9Giroud
- 12Tolisso
- 15Zouma
- 16Mandanda
- 17Sissoko
- 20Coman
- 21Hernández
- 22Ben Yedder
- 23Maignan
- 24Dubois
- 26Thuram
Switzerland
Formation 3-4-1-2
1Sommer
4Elvedi5Akanji13Rodríguez
3Widmer8Freuler10Xhaka14Zuber
23Shaqiri
7Embolo9Seferovic
- 1Sommer
- 4ElvediBooked at 32mins
- 5AkanjiBooked at 108mins
- 13RodríguezBooked at 62minsSubstituted forMehmediat 87'minutes
- 3WidmerSubstituted forMbabuat 73'minutes
- 8Freuler
- 10XhakaBooked at 76mins
- 14ZuberSubstituted forFassnachtat 79'minutes
- 23ShaqiriSubstituted forGavranovicat 73'minutes
- 7EmboloSubstituted forVargasat 79'minutes
- 9SeferovicSubstituted forSchärat 97'minutes
Substitutes
- 2Mbabu
- 6Zakaria
- 11Vargas
- 12Mvogo
- 15Sow
- 16Fassnacht
- 17Benito
- 18Mehmedi
- 19Gavranovic
- 20Fernandes
- 21Kobel
- 22Schär
- Referee:
- Fernando Rapallini
- Attendance:
- 22,642
Match Stats
Home TeamFranceAway TeamSwitzerland
- Possession
- Home54%
- Away46%
- Shots
- Home26
- Away12
- Shots on Target
- Home8
- Away5
- Corners
- Home8
- Away5
- Fouls
- Home14
- Away13
Live Text
Post update
Match ends, France 3(4), Switzerland 3(5).
Penalties over
Penalty Shootout ends, France 3(4), Switzerland 3(5).
Post update
Penalty saved! Kylian Mbappé (France) fails to capitalise on this great opportunity, right footed shot saved in the bottom left corner.
Post update
Goal! France 3(4), Switzerland 3(5). Admir Mehmedi (Switzerland) converts the penalty with a right footed shot to the bottom right corner.
Post update
Goal! France 3(4), Switzerland 3(4). Presnel Kimpembe (France) converts the penalty with a left footed shot to the top right corner.
Post update
Goal! France 3(3), Switzerland 3(4). Ruben Vargas (Switzerland) converts the penalty with a right footed shot to the bottom left corner.
Post update
Goal! France 3(3), Switzerland 3(3). Marcus Thuram (France) converts the penalty with a right footed shot to the bottom left corner.
Post update
Goal! France 3(2), Switzerland 3(3). Manuel Akanji (Switzerland) converts the penalty with a right footed shot to the bottom left corner.
Post update
Goal! France 3(2), Switzerland 3(2). Olivier Giroud (France) converts the penalty with a left footed shot to the bottom right corner.
Post update
Goal! France 3(1), Switzerland 3(2). Fabian Schär (Switzerland) converts the penalty with a right footed shot to the top right corner.
Post update
Goal! France 3(1), Switzerland 3(1). Paul Pogba (France) converts the penalty with a right footed shot to the top left corner.
Post update
Goal! France 3, Switzerland 3(1). Mario Gavranovic (Switzerland) converts the penalty with a right footed shot to the top left corner.
Penalties in progress
Penalty Shootout begins France 3, Switzerland 3.
Post update
Second Half Extra Time ends, France 3, Switzerland 3.
Post update
Attempt missed. Granit Xhaka (Switzerland) left footed shot from outside the box is too high from a direct free kick.
Post update
Foul by Adrien Rabiot (France).
Post update
Mario Gavranovic (Switzerland) wins a free kick in the attacking half.
Post update
Attempt saved. Olivier Giroud (France) header from the centre of the box is saved in the top left corner. Assisted by Presnel Kimpembe.
Post update
Presnel Kimpembe (France) wins a free kick in the attacking half.
Post update
Foul by Mario Gavranovic (Switzerland).
Page 1 of 8
- The pledges Brexit made: Have the promises of the Leave campaign been kept?
- Bloodlands: A chilling cold case is reopened with an assassin on the loose