Check out all the results, venues and kick-off times for Euro 2024 including the knockout bracket.
What was the Euro 2024 format?
The 24 teams were drawn into six groups of four nations.
The group winners and runners-up advanced to the knockout rounds, along with the four best third-placed teams.
It was then a straight knockout tournament, with extra time and penalties if necessary. There was a round of 16, quarterfinals, semifinals and a final.
The tournament was hosted by Germany, with matches to be played in the cities of Berlin, Cologne, Dortmund, Düsseldorf, Frankfurt, Gelsenkirchen, Hamburg, Leipzig, Munich and Stuttgart.
Results and bracket
FINAL
Sunday, July 14
Spain 2-1 England (Berlin)
SEMIFINALS
Tuesday, July 9
Spain 2-1 France (Munich)
Wednesday, July 10
Netherlands 1-2 England (Dortmund)
QUARTERFINALS
Friday, July 5
Spain 2-1 (AET) Germany (Stuttgart)
Portugal 0-0 (AET, pens 3-5) France (Hamburg)
Saturday, July 6
England 1-1 (AET, pens 5-3). Switzerland (Düsseldorf)
Netherlands 2-1 Turkey (Berlin)
ROUND OF 16
Saturday, June 29
Switzerland 2-0 Italy (Berlin)
Germany 2-0 Denmark (Dortmund)
Sunday, June 30
England 2-1 (AET) Slovakia (Gelsenkirchen)
Spain 4-1 Georgia (Cologne)
Monday, July 1
France 1-0 Belgium (Düsseldorf)
Portugal 0-0 (AET; pens 3-0) Slovenia (Frankfurt)
Tuesday, July 2
Romania 0-3 Netherlands (Munich)
Austria 1-2 Turkey (Leipzig)
GROUP STAGE
Friday, June 14
Group A: Germany 5-1 Scotland (Munich)
Saturday, June 15
Group A: Hungary 1-3 Switzerland (Cologne)
Group B: Spain 3-0 Croatia (Berlin)
Group B: Italy 2-1 Albania (Dortmund)
Sunday, June 16
Group D: Poland 1-2 Netherlands (Hamburg)
Group C: Slovenia 1-1 Denmark (Stuttgart)
Group C: Serbia 0-1 England (Gelsenkirchen)
Monday, June 17
Group E: Romania 3-0 Ukraine (Munich)
Group E: Belgium 0-1 Slovakia (Frankfurt)
Group D: Austria 0-1 France (Düsseldorf)
Tuesday, June 18
Group F: Turkey 3-1 Georgia (Dortmund)
Group F: Portugal 2-1 Czechia (Leipzig)
Wednesday, June 19
Group B: Croatia 2-2 Albania (Hamburg)
Group A: Germany 2-0 Hungary (Stuttgart)
Group A: Scotland 1-1 Switzerland (Cologne)
Thursday, June 20
Group C: Slovenia 1-1 Serbia (Munich)
Group C: Denmark 1-1 England (Frankfurt)
Group B: Spain 1-0 Italy (Gelsenkirchen)
Friday, June 21
Group E: Slovakia 1-2 Ukraine (Düsseldorf)
Group D: Poland 1-3 Austria (Berlin)
Group D: Netherlands 0-0 France (Leipzig)
Saturday, June 22
Group F: Georgia 1-1 Czechia (Hamburg)
Group F: Turkey 0-3 Portugal (Dortmund)
Group E: Belgium 2-0 Romania (Cologne)
Sunday, June 23
Group A: Switzerland 1-1 Germany (Frankfurt)
Group A: Scotland 0-1 Hungary (Stuttgart)
Monday, June 24
Group B: Albania 0-1 Spain (Düsseldorf)
Group B: Croatia 1-1 Italy (Leipzig)
Tuesday, June 25
Group D: France 1-1 Poland (Dortmund)
Group D: Netherlands 2-3 Austria (Berlin)
Group C: England 0-0 Slovenia (Cologne)
Group C: Denmark 0-0 Serbia (Munich)
Wednesday, June 26
Group E: Ukraine 0-0 Belgium (Stuttgart)
Group E: Slovakia 1-1 Romania (Frankfurt)
Group F: Czechia 1-2 Turkey (Hamburg)
Group F: Georgia 2-0 Portugal (Gelsenkirchen)