France had a helping hand from the video assistant referee (VAR) in their World Cup opener and a dash of good fortune when Paul Pogba's effort deflected off Australia's Aziz Behich and into the net to seal a 2-1 win. A low-key 1-0 victory against Peru put them in a prime position to qualify and a 0-0 draw against Denmark ensured they topped their group.
A 4-3 win against Lionel Messi's Argentina was one of the standout matches of the tournament. Goals from Angel Di Maria and Gabriel Mercado cancelled out an early Antoine Griezmann penalty before Benjamin Pavard struck a wonderful equaliser and teenager Kylian Mbappe scored twice. A late Sergio Aguero goal was not enough to save Argentina.
France had far too much quality for a Uruguay side missing in-form forward Edinson Cavani, winning 2-0. Defender Raphael Varane headed France ahead towards the end of the first half and Griezmann scored thanks to a terrible error by goalkeeper Fernando Muslera.
France knew they had a tough job on their hands to contain a Belgium side boasting Eden Hazard, Kevin De Bruyne and Romelu Lukaku but for the second consecutive match they kept a clean sheet. Samuel Umtiti scored the winner in the second half from Griezmann's corner to take the team through to their third World Cup final as 1-0 winners.
Croatia were one of only three teams in Russia to win all three of their group matches, beating Nigeria 2-0 in their opener and Iceland 2-1 in their final game. But their standout performance came in their second match, when they swept aside two-time winners Argentina 3-0 to make a huge statement of intent.
Goalkeeper Danijel Subasic was the hero, saving three penalties in the shootout as Croatia squeezed past Denmark. Earlier, they had conceded a goal in the opening minute but hit back quickly to equalise through Mario Mandzukic. Luka Modric missed a penalty shortly before the end of extra-time but Croatia survived.
Croatia looked like they would have too much quality for a solid but limited Russia side but were again taken to extra-time and penalties. Goals from Andrej Kramaric and Domagoj Vida cancelled out a Denis Cheryshev opener but Croatia watched in agony as Mario Fernandes snatched a late equaliser. Ivan Rakitic struck the decisive penalty to send his side through to the semi-finals.
Croatia were again forced to dig deep against England. Zlatko Dalic's side looked in deep trouble after conceding a early goal in Moscow but regrouped to equalise midway through the second half. Despite dominating the second period they were unable to force a winner until deep into extra-time, when Mandzukic struck to break English hearts and win the match 2-1.