After the blood spilled by Kylian Mbappe and the tears shed by Cristiano Ronaldo this was the night when perspiration eclipsed inspiration.
Mbappe never quite looked the same hidden behind his mask and came off during extra-time, retiring to the bench holding an ice pack to his broken nose.
Ronaldo did not come off despite being all but invisible through long spells.
When a decent chance finally came his way, brilliantly carved out by Francisco Conceicao at the start of extra-time, Portugal’s captain lifted it over the goal.
Ronaldo did score his penalty, but it would be not enough. Joao Felix was the only player to miss from the spot, hitting a post and
France booked their place in the Euro 2024 semi-finals after beating Portugal on penalties
Didier Deschamps' squad were elated as they triumphed 5-3 in the shootout in Hamburg
Portugal had looked threatening throughout on the evening but will now be heading home
There was little to separate the two sides across 120 minutes of action in Hamburg
Cristiano Ronalo painted a frustrated figure as he failed to find the back of the net on the night
It was never quite the night it promised to be, when the torch was passed from Ronaldo, Europe’s finest footballer for so long, to Mbappe, his heir apparent.
Indeed, it was a night when defenders took the plaudits, celebrating crucial blocks and front of goal and Pepe defied his 41 years and his second 120-match of the week roll back the years with some thrilling recovery tackles.
It was a defender who scored the decisive penalty, Theo Hernandez holding his nerve under pressure to send France into a semi-final against Spain in Munich on Tuesday.
France arrived in Germany as favourites for the trophy but have struggled to find fluency, been devoid of the usual flair and short of goals. Their first three in the competition came from two own goals and a penalty by Mbappe against Poland.
Deschamps made a couple of changes in search of the spark, with Eduardo Camavinga into midfield for Adrien Rabiot who was suspended, and Randal Kolo Mauni up front instead of Marcus Thuram.
Mbappe, still wearing the mask he doesn’t like to protect his broken nose, led early attacking flurries but the contest opened cagily. Portugal settled into a controlled spell of possession, moving the ball freely and Rafael Leao’s strength and speed got the better of Jules Kounde without creating a clear chance.
France were prepared to drop and concede territory. They are solid defensively, with a trio of ball-winning midfielders in front of the back four, although can lack imagination going forward. They spent the first half looking to spring Mbappe on the turnover into the spaces left by Joao Cancelo’s instincts to get forward.
Kylian Mbappe (left) and Pepe (right) were evenly matched throughout the quarter-final clash
While Cristiano Ronaldo (right) was well marshalled by France's defence during the match
Bruno Fernandes saw the first effort of the night deflect wide for a corner. Portugal had also lost their way to goal in the preceding matches, failing to score in a defeat against Georgia when Martinez made wholesale changes with qualification already won, and then against the massed defensive ranks of Slovenia in the last 16.
MATCH FACTS AND RATINGS
Portugal 433: Costa 6.5; Cancelo 6 (Semedo 74, 6), Dias 7.5, Pepe 8, Mendes 7; Vitinha 7.5, Palhinha 7 (R.Neves 90, 6), Fernandes 6.5 (Conceicao 75, 7); Silva 6, Ronaldo 5, Leao 6.5.
Goals
Bookings: Palhinha
Manager: Roberto Martinez 6
France 4312: Maignan 7; Kounde 5.5, Upamecano 7, Saliba 7, T.Hernandez 6; Kante 7.5, Tchouameni 7, Camavinga 6.5 (Fofana 91, ); Griezmann 5 (Dembele 67, 6.5); Muani 5 (Thuram 86), Mbappe 6.
Goals
Bookings: Saliba
Manager: Didier Deschamps 6
One of the themes of the tournament has been for unfancied but well-organised sides to successfully frustrate stronger opposition.
Here though, it was more of a case of capable and confident players passing and moving, probing through the first half to the beat of the non-stop drumbeat in the Portugal end, while taking care not to make mistakes and concede the initiative.
Portugal goalkeeper Diogo Costa was the hero against Slovenia in Frankfurt, saving three penalties in the shootout, and made his first save of the night to beat away a crisp strike from distance by Hernandez.
Costa was alert cut out a cross from Mbappe as France responded and their captain flickered without quite bursting into life.
Ronaldo made very little impression on the first half. He was cheered onto the pitch by the Portuguese fans and his name drew the loudest response when the teams were announced but he was comfortably contained by William Saliba and managed only 11 touches of the ball in the first 45 minutes.
After the criticism aimed at him for wasting so many free-kicks against Slovenia, Ronaldo even stepped aside and let Fernandes have a go from the first set-piece close enough to take aim at Mike Maignan’s goal, four minutes before the interval.
Ronaldo stood feet apart, breathing deeply and going through the usual routine, but it was Fernandes who skipped up and whipped the ball over the defensive wall. The outcome was no different.
The ball flashed high and wide. Maignan remained untroubled.
France offered more adventure in the second half which improved the spectacle and stirred their supporters from their evening slumber. Mbappe rapped a pass into N’Golo Kane, picked up the return and tested Costa.
It was straight at the goalkeeper but represented a change of tempo, a visible effort to move the ball with greater urgency. Hernandez flashed a low cross in front of goal. It evaded everybody.
Rafael Leao caused issues down the left-side for Portugal but, in the end, it wasn't enough
Randal Kolo Muani (middle) had multiple opportunities for France but failed to take them
This renewed intent offered more space to Portugal behind the French ranks. Nuno Mendes launched a counterattack down the left, skipping past first Kounde and then Dayot Upamecano before throwing himself through the air but there was no contact and referee Michael Oliver was not fooled.
Mbappe, back in his own penalty area to defend a series of set-pieces, took a painful blow when a header by Bernardo Silva struck him in the face. He tore off the mask and required treatment.
Maignan produced a fabulous save on the hour to deny Fernandes. Released by Cancelo, the Manchester United playmaker took the shot first time and cut it low towards the far corner. Maignan was down swiftly to his right and kept it out.
Joao Felix missed the crucial penalty for penalty for Portugal which, in turn, sent them home
Cancelo fired over before France’s keeper was required again, this time making a strong save from Vitinha, bursting into the penalty area from midfield.
At the other end, Portugal protected Costa. Ruben Dias made a fine block to deflect an effort by Muani wide and Mendes closed down his Partis Saint-Germain teammate to similar effect.
Deschamps sent on Ousmane Dembele, who made an instant impact, creating an opening for Camavinga, who ought to have scored but dragged it wide and the teams went into extra-time.
Felix came close to finding the net in extra-time, heading wide at the back post. Mendes also forced a late save by this would be settled in France’s favour from the penalty spot.