Artem Dovbyk scored in added time in extra time as Ukraine edged out 10-man Sweden at Hampden to set up a Euro 2020 quarter-final with England.
Oleksandr Zinchenko smashed Ukraine in front with a powerful drive but a deflected shot from Emil Forsberg levelled matters before half-time.
Sweden lost Marcus Danielson to a red card in extra time after a VAR check.
And, with penalties looming, Dovbyk - one of 12 substitutes used - headed a dramatic winner from close range.
Ukraine had crept through from the group phase with three points and a negative goal difference, while Sweden topped their section with seven points, ahead of Spain.
However, the match in Glasgow was an even contest throughout, with both sides out on their feet by the final whistle.
With so many changes in personnel and a sending off, there was no rhythm or shape in extra time.
The Swedes were twice temporarily down to nine men after head knocks and Ukraine replacement Artem Besedin lasted just 10 minutes before he was on the receiving end of Danielson's high challenge.
The Sweden defender, who got his foot to a dropping ball before catching his opponent, was initially booked but referee Daniele Orsato upgraded to red after reviewing the incident on the pitch-side monitor.
There was little in the way of goalmouth action after Danielson's 99th-minute dismissal until Zinchenko swung in a cross from the left and Dovbyk slid in to score his first international goal.
Change of shape benefits Ukraine
Ukraine coach Andriy Shevchenko switched to a back three, allowing Zinchenko to operate as a left wing-back, and his captain revelled in the role, setting up the winner and cracking in the opener on 27 minutes.
Andriy Yarmolenko found the Manchester City player with a cute outside-of-the-boot pass and Zinchenko thundered in an angled shot that Robin Olsen got a hand to but could not keep out.
Forsberg then enjoyed a slice of fortune as his deflected shot from 22 yards flew into the net just before the interval for his fourth goal of the tournament.
But the impressive midfielder's luck was out when he twice struck the woodwork in a lively second-half spell, with those shots following an effort from Ukraine's Serhiy Sydorchuk which clipped a post.
Ukraine goalkeeper Heorhiy Bushchan did well to push away a strike from Dejan Kulusevski and the same player was in behind in the 89th-minute but the ball would not sit for his weaker right foot, allowing defender Illya Zabarnyi to slide in and block.
Latest Stories
-
Town council in Canada at standstill over refusal to take King’s oath
25 mins -
Trump picks Pam Bondi as attorney general after Matt Gaetz withdraws
37 mins -
Providing quality seeds to farmers is first step towards achieving food security in Ghana
48 mins -
Kenya’s president cancels major deals with Adani Group
2 hours -
COP29: Africa urged to invest in youth to lead fight against climate change
2 hours -
How Kenya’s evangelical president has fallen out with churches
2 hours -
‘Restoring forests or ravaging Ghana’s green heritage?’ – Coalition questions Akufo-Addo’s COP 29 claims
2 hours -
Ensuring peaceful elections: A call for justice and fairness in Ghana
3 hours -
Give direct access to Global Health Fund – Civil Society calls allocations
4 hours -
Trudeau plays Santa with seasonal tax break
4 hours -
Prince Harry jokes in tattoo sketch for Invictus
4 hours -
Akufo-Addo commissions 200MW plant to boost economic growth
4 hours -
Smallholder farmers to make use of Ghana Commodity Exchange
5 hours -
I want to focus more on my education – Chidimma Adetshina quits pageantry
5 hours -
Priest replaced after Sabrina Carpenter shoots music video in his church
5 hours