Portugal needed the lottery of penalties to beat Slovenia in the last 16 of Euro 2024.

The two sides couldn't be separated after 120 minutes of football and the tie went to spot kicks, during which Diogo Costa saved three penalties to send the Selecao into a quarter-final against France.

Slovenia defended magnificently and were unfortunate not to have advanced themselves, but can hold their heads high after a heroic performance.

How the game unfolded

Portugal began applying pressure early on and their first sight of goal came when a teasing Bernardo Silva cross drifted over the head of Cristiano Ronaldo, but did find Bruno Fernandes at the back post, only for his touch to divert the ball wide.

The best opportunity Slovenia had in the first half came from 30 yards when Benjamin Sesko let fly, but Costa was equal to his speculative of swerving effort.

With one final chance before the break, Rafael Leao darted in from the left hand-side and wrestled off the challenge of Zan Karnicnik before cutting the ball back for Joao Palhinha, whose effort went wide off the outside of the post.

Portugal again had most of the ball in the second half but were nearly undone on the counter when Sesko galloped past Pepe, only for the veteran defender to put him off just enough as his strike from the edge of the box trickled behind.

With 89 minutes on the clock, Ronaldo thought he had his moment. Diogo Jota dispossessed Karnicnik and sent Portugal's number seven racing through, but Jan Oblak easily denied him at the near post and the game went to extra-time.

12 minutes into extra-time, Portugal were awarded a penalty when Jota bundled into Drkusic at pace and drew a foul. Ronaldo stepped up but his shot was pushed onto the post and out by Oblak.

The Slovenian stopper was called into action again to tip over a Joao Palhinha header soon after as Portugal continued looking for a late winner.

The best chance to win the match in open play came when Pepe slipped in possession and Sesko sprinted in. With the world holding its breath, his shot was kept out by the toe of Costa and the tie went to penalties.

Costa was once again Portugal's saviour in that shootout, saving all three of Slovenia's penalties as the Selecao triumphed on spot kicks.

Portugal - 3

Slovenia - 0

Cristiano Ronaldo (Scored)

Josip Ilicic (Saved)

Bruno Fernandes (Scored)

Jure Balkovec (Saved)

Bernardo Silva (Scored)

Benjamin Verbic (Saved)

Ronaldo was devastated after missing his penalty / Ralf Ibing - firo sportphoto/GettyImages

GK: Diogo Costa - 10/10 - Didn't have very much to do until late on when he saved Pepe's bacon and then Portugal as a team in the shootout. Remarkable.

RB: Joao Cancelo - 6/10 - Taken off the leash after half-time and was allowed to get down the right flank, though his teammates weren't always on the same wavelength. Characteristically suspect defensively at either end of the match.

CB: Ruben Dias - 6/10 - Got everything right at the back despite the endurance and strength that Sesko brought to the battle.

CB: Pepe - 6/10 - Likewise dealt with Sporar despite his 41 years of age. Even came up with a delightful switch of play every now and then. Avoided costing Portugal the match with his slip in extra-time.

LB: Nuno Mendes - 6/10 - Caused some panic and scrambling in the Slovenia defence early doors, which they swiftly fixed in order to nullify Mendes' threat.

CM: Vitinha - 7/10 - Magnificent in just over an hour on the pitch. Felt very strange that he was the first player sacrificed for another attacker.

CM: Joao Palhinha - 6/10 - Slovenia might have had far easier routes to goal if not for the destructive presence of Palhinha.

RW: Bernardo Silva - 3/10 - Went missing after his early cross towards Fernandes but somehow survived the full 120 minutes. Scored the winning penalty with the pressure off.

AM: Bruno Fernandes - 4/10 - Reduced mainly to sideways and backwards passes. Only really played forwards when dropping deep when Portugal got desperate.

LW: Rafael Leao - 5/10 - Showed great flashes of brilliance early on but then found himself running down dead ends.

CF: Cristiano Ronaldo - 2/10 - The only reason Ronaldo has been spared a 1/10 is because he scored his penalty in the shootout. Harmed his team in open play, selfishly took four free-kicks and missed all of them before having an extra-time penalty denied by Oblak.

Substitutes

SUB: Diogo Jota (65' for Vitinha) - 7/10 - Brought a directness that Portugal needed, ultimately winning a penalty for Ronaldo to miss.

SUB: Francisco Conceicao (76' for Leao) - 5/10

SUB: Nelson Semedo (117' for Cancelo) - N/A

SUB: Ruben Neves (117' for Pepe) - N/A

Subs not used: Rui Patricio (GK), Jose Sa (GK), Diogo Dalot, Danilo Pereira, Goncalo Inacio, Antonio Silva, Joao Neves, Matheus Nunes, Joao Felix, Pedro Neto, Goncalo Ramos

Manager

Roberto Martinez - 3/10 - Ran out of ideas quite quickly. Costa has saved him from a hell of a lot of scrutiny.

Oblak kept Slovenia going / Robbie Jay Barratt - AMA/GettyImages

GK: Jan Oblak - 8/10 - Despite Portugal's dominance, the Slovenia goalkeeper didn't actually have a lot on his plate until he saved Ronaldo's penalty.

RB: Zan Karnicnik - 7/10 - Appeared as though he was in for a long night when Leao got his skates on, but Karnicnik recovered and endured a fine match.

CB: Vanja Drkusic - 7/10 - The penalty call against him for fouling Jota was a little harsh, but ultimately correct. Apart from that, defended heroically.

CB: Jaka Bijol - 9/10 - Got his head on absolutely everything and didn't give Ronaldo a second of rest. Outstanding.

LB: Jure Balkovec - 8/10 - Ensured that Silva got chump change out of his endeavours down Slovenia's left side. Saw his penalty saved in the shootout.

RM: Petar Stojanovic - 7/10 - Alerted to the early danger of Mendes and Leao and stepped up in the second half to block the space they could attack.

CM: Adam Cerin - 7/10 - Didn't stop, wouldn't stop. Did his duties excellently.

CM: Timi Elsnik - 7/10 - Hassled and harried Portugal all night long. The Selecao didn't have a moment to breathe.

LM: Jan Mlakar - 7/10 - Had to track back to help lessen the impact of Cancelo, which required the need of fresher legs in the second half.

CF: Andraz Sporar - 6/10 - Expended a hell of a lot of energy throwing himself about up against Pepe.

CF: Benjamin Sesko - 6/10 - Did all the dirty work you'd want in a freakish, gigantic striker but his shooting boots were missing.

Substitutes

SUB: Jon-Gorenc Stankovic (75' for Mlakar) - 7/10

SUB: Zan Celar (75' for Sporar) - 6/10

SUB: Benjamin Verbic (86' for Stojanovic) - 6/10

SUB: Josip Ilicic (106' for Elsnik) - 6/10

Subs not used: Vid Belec (GK), Igor Vekic (GK), Miha Blazic, David Brekalo, Sandi Lovric, Jasmin Kurtic, Tomi Horvat, Adrian Zeljkovic, Zan Vipotnik, Nino Zugelj

Manager

Matjaz Kek - 8/10 - An unbelievable effort from his players for 120 minutes. An almost flawless defensive performance. Sent off in extra-time.

Player of the match - Diogo Costa (Portugal)

READ THE LATEST EURO 2024 NEWS, PREVIEWS & PLAYER RATINGS