Portugal finished second best to France on possession and shots, but the Iberians won where it mattered to reach the FIFA U-20 World Cup final. An early header from Danilo and a 40th-minute penalty from Nelson Oliveira earned Ilidio Vale’s team a 2-0 victory in Medellin, where the losers were left rueing a series of missed opportunities.

The game began at a quick pace, with Antoine Griezmann teeing up Gilles Sunu, whose shot forced Mika into a smart save. It was Portugal who nevertheless landed the first blow. Alex curled a corner to the back post, where Danilo was left completed unmarked to nod the ball home.

On 13 minutes, Mika moved on to 493 unbeaten, breaking the record for a goalkeeper in the FIFA U-20 World Cup. However, the Portugal No1 almost had his run ended in the same minute, but he produced a super flying save to deny a wonderful Clement Grenier free-kick.

Grenier had two more half-chances thereafter, before Sunu mishit a shot from point-blank range. It was all France, but they were hit with a sucker punch five minutes from half-time. Kalidou Koulibaly fouled Danilo inside the box, and Nelson Oliveira sent Jonathan Ligali the wrong way from the spot to make it 2-0. It was the Benfica forward’s third goal of Colombia 2011.

The second half followed a theme of frustration for France. Territorially, they dominated it, but they were unable to become the first team this tournament to find a way past Mika, despite the 53rd-minute introduction of super sub Alexandre Alacazette.

Mika made two saves from Gueida Fofana, but he was left stranded when Danilo’s scuffed clearance headed towards the Portuguese net. Fortunately for the Benfica keeper, the ball came back off the post before Loic Nego headed it niches wide. It was a major chance. It proved the last one.

France will now take on the losers of tonight’s Brazil-Mexico semi-final for bronze at 5pm on Saturday in Bogota, while Portugal will go for gold five hours later in the same stadium.