Ukraine set up a Euro 2020 quarter-final clash with England as Artem Dovbyk's dramatic header in stoppage time of extra-time secured a 2-1 victory over 10-man Sweden at Hampden Park.
After a lacklustre extra-time period, it looked like the two sides would have to settle for penalties, but substitute Dovbyk popped up to convert Oleksandr Zinchenko's stunning cross and secure a dramatic victory for Andriy Shevchenko's team.
Zinchenko's powerful strike (27) had sent Ukraine on their way in the first half, but Emil Forsberg's deflected effort (43) - his fourth goal in as many games at Euro 2020 - brought Sweden level just before half-time.
Both sides had chances after the break, Serhiy Sydorchuk struck the post for Ukraine before Forsberg was denied by both the post and the crossbar as Sweden searched for a winner, but they could not be separated after normal time.
Sweden's chances of a winner in extra-time were dealt a huge blow when Marcus Danielson was shown a straight red card following a VAR check after winning the ball but catching Artem Besedin's knee with his studs on his follow through.
But they looked on course to get to penalties until Dovbyk's intervention shattered them and sent Ukraine through to the last eight, where they will face Gareth Southgate's England in Rome on Saturday evening.
Euro 2020 Quarter-finals line-ups
Friday July 2
Quarter-final 1: Switzerland vs Spain; Kick-off 5pm (St Petersburg)
Quarter-final 2: Belgium vs Italy; Kick-off 8pm (Munich)
Saturday July 3
Quarter-final 3: Czech Republic vs Denmark; Kick-off 5pm (Baku)
Quarter-final 4: Ukraine vs England; Kick-off 8pm (Rome)
- How the teams lined up | In-depth stats and analysis
- Subscribe to the Sky Sports Football Euros Podcast
- Euro 2020 fixtures and schedule
How Ukraine set up England quarter-final...
Andriy Yarmolenko and Roman Yaremchuk struck up quite a partnership during the group stage, creating six goalscoring chances for one another, and they were at it again in the early stages in Glasgow.
A slick one-two saw Yarmolenko slide Yaremchuk into space, but the striker's shot was well saved by Robin Olsen.
At the other end, space opened up in front of Alexander Isak, but the Sweden striker failed to pick out the bottom corner with a curled effort.
Sweden: Olsen (7), Lustig (6), Lindelof (7), Danielson (6), Augustinsson (6), Larsson (6), Ekdal (6), Olsson (6), Forsberg (8), Kulusevski (7), Isak (6).
Subs: Krafth (6), Bengtsson (6), Quaison (n/a), Claesson (n/a), Berg (n/a), Helander (n/a)
Ukraine: Bushchan (7), Karavayev (6), Kryvtsov (6), Zabarnyi (6), Matviyenko (7), Shaparenko (7), Stepanenko (7), Sydorchuk (7), Yarmolenko (8), Yaremchuk (7), Zinchenko (8).
Subs: Malinovsky (6), Besedin (n/a), Makarenko (n/a), Bezus (n/a) Tsygankov (n/a), Dovbyk (8).
Man of the match: Oleksandr Zinchenko.
The deadlock was broken in the 27th minute when Yarmolenko produced a sublime cross with the outside of his left boot to pick out Zinchenko at the far post. The Man City star drilled a low effort towards goal and Olsen got a touch, but he could not keep the powerful strike out.
Ukraine were seemingly controlling proceedings and dominating the ball, but they were eventually undone just before the break as Forsberg's long-range strike flicked off Illya Zabarnyi and skipped off the turf and beyond the dive of Heorhiy Bushchan for his fourth goal of the tournament.
Sweden were caught napping early in the second half as Yarmolenko's cut-back picked out Sydorchuk. The midfielder's shot threaded its way through a number of bodies, but it clipped the outside of the post with Olsen rooted to the spot.
In what was a frantic few minutes, Sweden went straight up the other end and also hit the woodwork. Isak drove forward before releasing Forsberg in on goal, but the forward's shot, which beat Bushchan, hit the foot of the post.
Sweden were getting closer with Bushchan having to deny Dejan Kulusevski's goal-bound strike, while Forsberg was inches away from his second of the game, but his superb strike struck the crossbar as Ukraine survived.
- Sweden coach Janne Andersson picked Dejan Kulusevksi to start up front with Alexander Isak, with Robin Quaison dropping to the bench for their last-16 clash with Ukraine. Having had a period in isolation at the start of the tournament due to a positive COVID-19 test, Kulusevski came off the bench to create two goals in the 3-2 victory over Poland, including Viktor Claesson's late winner. Marcus Berg, who started the first two group games against Spain and Slovakia, joined Quaison, who started against Poland, among the substitutes.
- Ukraine coach Andriy Shevchenko made two changes from the side that started the final group game against Austria, with Taras Stepanenko and Serhiy Kryvtsov coming in for Vitalii Mykolenko and Ruslan Malinovskyi.
Ukraine were still a threat on the break and Olsen had to be alert to deny Yarmolenko, but as time ticked and extra-time loomed, both sides became much more conservative and normal time fizzled out.
Extra-time proved to be a survival of the fittest as both sets of players struggled to cope with the demands of an additional 30 minutes.
Ukraine's chances improved when Danielsson was shown a red card after a VAR check. Referee Daniele Orsato first brandished a yellow card after the Swedish centre-back, who initially won the ball, caught Besedin's knee with his studs on his follow through. However, after consulting the pitchside monitor, the referee changed his decision, leaving Sweden to play out the remainder of extra-time with 10 men.
Stoppages were interrupting the flow of the game but Ukraine were starting to build some pressure on Sweden, but Olsen was able to confidently watch Ruslan Malinovskiy's strike drift wide.
The game was drifting towards penalties but there was to be late drama as Zinchenko produced the moment of magic that the game was lacking, and his sublime cross picked out Dovbyk, who swooped to spark wild Ukraine celebrations.
What the managers said...
Sweden head coach Janne Andersson: "In the first half we managed to get the equaliser but in the second half we had four really great chances, hitting the post and the bar... it felt like we would score again eventually but unfortunately we didn't.
"The red card really decided the game. I think the red card was probably right. We didn't manage to do much in extra-time. It's a tough result to take, a bitter defeat."
Ukraine manager Andriy Shevchenko: "I'd like to congratulate every fan and player of Ukraine for this historic moment. The guys played for the supporters. We'll try to recover the players physically and also psychologically because they gave their all. We knew the prize was great and that's why we didn't want to give up.
"England are a great team. They have a great substitutes' bench, great coach. They are very strong - I know that very well. We understand how tough the game will be."
Opta stats - Ukraine break Swedish hearts
- Ukraine have reached the quarter-finals of a major tournament for only the second time, the previous instance being the 2006 World Cup (eliminated by Italy).
- Sweden have been eliminated from all three of their knockout stage matches at the Euros (also vs Germany in 1992 and Netherlands in 2004).
- Timed at 120:37, Ukraine's Artem Dovbyk scored the second-latest goal in European Championship history, behind Semih Sentürk v Croatia in 2008 (121:01), and the latest match-winning strike in the competition, overtaking Michel Platini v Portugal in 1984 (118:53).
- Oleksandr Zinchenko became the fifth different Manchester City player to score at Euro 2020 after Kevin De Bruyne, Raheem Sterling, Aymeric Laporte and Ferran Torres - only Atalanta (also five) have had as many different players score at the tournament.
- Andriy Yarmolenko has either scored (two) or assisted (three) five of Ukraine's eight European Championship goals. Indeed, five goal involvements is level with Andriy Shevchenko (4 goals, 1 assist) for the most by a Ukraine player at major tournaments (World Cup and Euros).
No, you didn't dream it. England have beaten Germany in a knockout game, winning 2-0 at Wembley on an historic night to clear the path through Euro 2020. Alice Piper is joined by Rob Dorsett, Pete Smith and Gerard Brand to discuss the famous victory, including how Gareth Southgate once again proved his critics wrong.
With Ukraine up next, and Denmark or Czech Republic waiting in the semi-final, is the final now a minimum expectation for England? With Southgate's side favourites, how will they set up? Plus: praise for Sterling, Grealish, Saka, Pickford, Kane and... well, just about everyone.
And in part 3, Oli Yew pops in for a Ukraine scouting report after their last-gasp extra-time win over Sweden. Should they be feared? All roads lead to Rome for Saturday's quarter-final tie...
Ukraine will play England in the quarter-finals of Euro 2020 in Rome on Saturday at 8pm.