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.
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.
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.
Â