Euro 2024 concluded with the final in Berlin on July 14 as Spain defeated England 2-1.
The tournament, which ran in Germany from June 14-July 14, brought together 24 countries from across Europe to do battle. Being played in the same months as CONMEBOL’s Copa America 2024, the competition is part of a feast of football over the summer.
Italy started off as the defending champions, having beaten England in the final of Euro 2020 — a tournament that was delayed by a year due to the COVID-19 pandemic — while the Three Lions built on their strong qualifying campaign to scrap their way to the final.
Spain won the title for a record fourth time, winning seven games out of seven, including against a France side who had concern over star striker Kylian Mbappe, who suffered a broken nose in their opening win against Austria.
Over the course of the tournament, those teams from the established footballing order, along with less familiar additions such as Albania and tournament debutants Georgia, competed to be crowned as kings of Europe.
The Sporting News breaks down the full list of results throughout the tournament.
GROUP SCHEDULE & FINAL STANDINGS: Group A | Group B | Group C | Group D | Group E | Group F
KNOCKOUT STAGE SCHEDULE: Round of 16 | Quarterfinals | Semifinals | Final
The UEFA European Championship began with the group stage on June 14 and has progressed for the subsequent month, with the knockout stage starting on June 29 and opening with the Round of 16.
The final took place in Berlin on July 14 to crown the winner and close out the competition.
Round | Dates |
Group Stage | June 14-26, 2024 |
Round of 16 | June 29-July 2, 2024 |
Quarterfinals | July 5-6, 2024 |
Semifinals | July 9-10, 2024 |
Final | July 14, 2024 |
MORE: Euro 2024 qualifying, how teams reached Germany | Who will win the Euros Golden Boot?
Twenty-four nations booked their spot at Euro 2024, with those teams being decided by a lengthy qualification process. As tournament hosts, Germany were the only team to qualify automatically.
Having secured their place, the teams were all drawn into six groups for the initial phase of the finals.
The top two teams from each group, along with the four best third-placed teams, qualified for the Round of 16.
Team | Qualification method |
Germany | Hosts |
Belgium | Qualifying Group F — 1st place |
France | Qualifying Group B — 1st place |
Portugal | Qualifying Group J — 1st place |
Scotland | Qualifying Group A — 2nd place |
Spain | Qualifying Group A — 1st place |
Turkey | Qualifying Group D – 1st place |
Austria | Qualifying Group F — 2nd place |
England | Qualifying Group C — 1st place |
Hungary | Qualifying Group G — 1st place |
Slovakia | Qualifying Group J — 2nd place |
Albania | Qualifying Group E – 1st place |
Czechia | Qualifying Group E – 2nd place |
Denmark | Qualifying Group H — 1st place |
Netherlands | Qualifying Group B — 2nd place |
Romania | Qualifying Group I – 1st place |
Switzerland | Qualifying Group I – 2nd place |
Slovenia | Qualifying Group J — 2nd place |
Serbia | Qualifying Group G — 2nd place |
Croatia | Qualifying Group D – 2nd place |
Italy | Qualifying Group C — 2nd place |
Poland | Playoff final |
Georgia | Playoff final |
Ukraine | Playoff final |
WATCH: Catch all the Euro 2024 action live in the USA with Fubo
Here’s the full bracket for all the action at the 17th European Championship, which you can download as a PDF. This article will be updated live throughout the tournament.
Date | Time (CET) | Match | Location |
July 14 | 9 p.m. | Spain 2-1 England | Berlin (Olimpiastadion) |
Date | Time (CET) | Match | Location |
July 9 | 9 p.m. | Spain 2-1 France | Munich (Allianz Arena) |
July 10 | 9 p.m. | England 2-1 Netherlands | Dortmund (Signal Iduna Park) |
Date | Time (CET) | Match | Location |
July 5 | 6 p.m. | Spain 2-1 Germany | Stuttgart (MHPArena) |
July 5 | 9 p.m. | Portugal 0-0 France (3-5 pens) | Hamburg (Volksparkstadion) |
July 6 | 6 p.m. | England 1-1 Switzerland (5-3 pens) | Dusseldorf (Merkur Spiel-Arena) |
July 6 | 9 p.m. | Netherlands 2-1 Turkey | Berlin (Olimpiastadion) |
Date | Time (CET) | Match | Location |
June 29 | 6 p.m. | M1: Switzerland 2-0 Italy | Berlin (Olimpiastadion) |
June 29 | 9 p.m. | M2: Germany 2-0 Denmark | Dortmund (Signal Iduna Park) |
June 30 | 6 p.m. | M3: England 2-1 Slovakia | Gelsenkirchen (Veltins Arena) |
June 30 | 9 p.m. | M4: Spain 4-1 Georgia | Cologne (RheinEnergieStadion) |
July 1 | 6 p.m. | M5: France 1-0 Belgium | Dusseldorf (Merkur Spiel-Arena) |
July 1 | 9 p.m. | M6: Portugal 0-0 Slovenia (Portugal won 3-0 on pens) | Frankfurt (Waldstadion) |
July 2 | 6 p.m. | M7: Romania 0-3 Netherlands | Munich (Allianz Arena) |
July 2 | 9 p.m. | M8: Austria 1-2 Turkey | Leipzig (Red Bull Arena) |
Pos | Team | GP | Pts | W-D-L | GD |
1. | Germany (Q) | 3 | 7 | 2-1-0 | +6 |
2. | Switzerland (Q) | 3 | 5 | 1-2-0 | +2 |
3. | Hungary | 3 | 3 | 1-0-2 | -3 |
4. | Scotland | 3 | 1 | 0-1-2 | -7 |
Date | Time (CET) | Match | Location |
June 14 | 9 p.m. | Germany 5-1 Scotland | Munich (Allianz Arena) |
June 15 | 3 p.m. | Hungary 1-3 Switzerland | Cologne (RheinEnergieStadion) |
June 19 | 6 p.m. | Germany 2-0 Hungary | Stuttgart (MHPArena) |
June 19 | 9 p.m. | Scotland 2-2 Switzerland | Cologne (RheinEnergieStadion) |
June 23 | 9 p.m. | Switzerland 1-1 Germany | Frankfurt (Waldstadion) |
June 23 | 9 p.m. | Scotland 0-1 Hungary | Stuttgart (MHPArena) |
Pos | Team | GP | Pts | W-D-L | GD |
1. | Spain (Q) | 3 | 9 | 3-0-0 | +5 |
2. | Italy (Q) | 3 | 4 | 1-1-1 | 0 |
3. | Croatia | 3 | 2 | 0-2-1 | -3 |
4. | Albania | 3 | 1 | 0-1-2 | -2 |
Date | Time (CET) | Match | Location |
June 15 | 6 p.m. | Spain 3-0 Croatia | Berlin (Olympiastadion) |
June 15 | 9 p.m. | Italy 2-1 Albania | Dortmund (Signal Iduna Park) |
June 19 | 3 p.m. | Croatia 2-2 Albania | Hamburg (Volksparkstadion) |
June 20 | 9 p.m. | Spain 1-0 Italy | Gelsenkirchen (Veltins Arena) |
June 24 | 9 p.m. | Albania 0-1 Spain | Dusseldorf (Merkur Spiel-Arena) |
June 24 | 9 p.m. | Croatia 1-1 Italy | Leipzig (Red Bull Arena) |
Pos | Team | GP | Pts | W-D-L | GD |
1. | England (Q) | 3 | 5 | 1-2-0 | +1 |
2. | Denmark (Q) | 3 | 3 | 0-3-0 | 0 |
3. | Slovenia (Q) | 3 | 3 | 0-3-0 | 0 |
4. | Serbia | 3 | 2 | 0-2-1 | -1 |
Date | Time (CET) | Match | Location |
June 16 | 6 p.m. | Slovenia 1-1 Denmark | Stuttgart (MHPArena) |
June 16 | 9 p.m. | Serbia 0-1 England | Gelsenkirchen (Veltins Arena) |
June 20 | 3 p.m. | Slovenia 1-1 Serbia | Munich (Allianz Arena) |
June 20 | 6 p.m. | Denmark 1-1 England | Frankfurt (Waldstadion) |
June 25 | 9 p.m. | England 0-0 Slovenia | Cologne (RheinEnergieStadion) |
June 25 | 9 p.m. | Denmark 0-0 Serbia | Munich (Allianz Arena) |
Pos | Team | GP | Pts | W-D-L | GD |
1. | Austria (Q) | 3 | 6 | 2-0-1 | +2 |
2 | France (Q) | 3 | 5 | 1-2-0 | +1 |
3. | Netherlands (Q) | 3 | 4 | 1-1-1 | 0 |
4. | Poland | 3 | 1 | 0-1-2 | -3 |
Date | Time (CET) | Match | Location |
June 16 | 3 p.m. | Poland 1-2 Netherlands | Hamburg (Volksparkstadion) |
June 17 | 9 p.m. | Austria 0-1 France | Dusseldorf (Merkur Spiel-Arena) |
June 21 | 6 p.m. | Poland 1-3 Austria | Berlin (Olympiastadion) |
June 21 | 9 p.m. | Netherlands 0-0 France | Leipzig (Red Bull Arena) |
June 25 | 6 p.m. | France 1-1 Poland | Dortmund (Signal Iduna Park) |
June 25 | 6 p.m. | Netherlands 2-3 Austria | Berlin (Olympiastadion) |
Pos | Team | GP | Pts | W-D-L | GD |
1. | Romania (Q) | 3 | 4 | 1-1-1 | +1 |
2. | Belgium (Q) | 3 | 4 | 1-1-1 | +1 |
3 | Slovakia (Q) | 3 | 4 | 1-1-1 | 0 |
4. | Ukraine | 3 | 4 | 1-1-1 | -2 |
Date | Time (CET) | Match | Location |
June 17 | 3 p.m. | Romania 3-0 Ukraine | Munich (Allianz Arena) |
June 17 | 6 p.m. | Belgium 0-1 Slovakia | Frankfurt (Waldstadion) |
June 21 | 3 p.m. | Slovakia 1-2 Ukraine | Dusseldorf (Merkur Spiel-Arena) |
June 22 | 9 p.m. | Belgium 2-0 Romania | Cologne (RheinEnergieStadion) |
June 26 | 6 p.m. | Ukraine 0-0 Belgium | Stuttgart (MHPArena) |
June 26 | 6 p.m. | Slovakia 1-1 Romania | Frankfurt (Waldstadion) |
Pos | Team | GP | Pts | W-D-L | GD |
1. | Portugal (Q) | 3 | 6 | 2-0-1 | +2 |
2. | Turkey (Q) | 3 | 6 | 2-0-1 | 0 |
3. | Georgia (Q) | 3 | 4 | 1-1-1 | 0 |
4. | Czechia | 3 | 1 | 0-1-2 | -2 |
Date | Time (CET) | Match | Location |
June 18 | 6 p.m. | Turkey 3-1 Georgia | Dortmund (Westfalenstadion) |
June 18 | 9 p.m. | Portugal 2-1 Czechia | Leipzig (Red Bull Arena) |
June 22 | 3 p.m. | Georgia 1-1 Czechia | Hamburg (Volksparkstadion) |
June 22 | 6 p.m. | Turkey 0-3 Portugal | Dortmund (Signal Iduna Park) |
June 26 | 9 p.m. | Czechia 1-2 Turkey | Hamburg (Volksparkstadion) |
June 26 | 9 p.m. | Georgia 2-0 Portugal | Gelsenkirchen (Veltins-Arena) |