Portugal and Hungary drew in 3-3 after a thrilling topsy turvy game in Lyon.
Ivan Perisic scored a brilliant late winner as Croatia defeated Spain 2-1 in Bordeaux to take top spot in Group D ahead of the defending champions.
Germany finished top of Group C, ahead of Poland on goal difference, after Mario Gomez's first-half goal gave them a 1-0 victory over Northern Ireland in Paris.
England qualified for the knockout stages after a 0-0 draw with Slovakia in Saint-Etienne but had to be content with second place in the group.
France and Switzerland played out an eventful 0-0 draw in Lille as the hosts were confirmed as winners of Group A, with the Swiss in second place.
We're into day 10 of Euro 2016, time for World Soccer editor Gavin Hamilton to deliver his verdict on the 24 teams.
Cristiano Ronaldo missed a penalty and had a goal ruled out for offside as Portugal were held to a frustrating 0-0 draw by Austria in Paris.
Champions Spain cruised into the knockout stages with a thrilling display in Nice, sweeping aside Turkey in a smooth 3-0 win.
Date: June 17, 2016 Result: Italy 1 Sweden 0 Scorers: Italy: Eder 88 Sweden: none Venue: Stadium de Toulouse, Toulouse Match overview: Brazilian-born striker Eder’s late strike broke the deadlock in…
Substitute Daniel Sturridge snatched a dramatic late winner as England came from a goal behind to beat Wales 2-1 in Lens.