Artem Dovbyk scored a late extra-time winner as Ukraine beat 10-man Sweden 2-1 at Hampden Park in Glasgow on Tuesday night to reach the 2020 European Championship quarterfinals.
Oleksandr Zinchenko opened the scoring for Ukraine with aplomb just before the half-hour, smashing a half-volley from the far post past Sweden's Robin Olsen.
Sweden drew level just before the break with another spectacular strike when Emil Forsberg's shot from distance took a fortuitous deflection and rippled the back of Georgiy Bushchan's net as the half ended in a 1-1 draw.
Forsberg, who took his tournament tally to four goals, struck the woodwork twice after the break while Ukraine's Serhiy Sydorchuk was also denied by the post in an exciting second half as the match went to 30 minutes of extra time.
Sweden went down to 10 men in the first period of extra time when Marcus Danielson's hard foul on Ukraine's Artem Besedin was deemed to be a straight red card after a VAR check.
After the game, Sweden manager Janne Andersson said: "It felt like we would score eventually, but unfortunately we didn't. The red card decided the game and we had to fight for it. It's incredibly difficult and tough result to take. We had some long throw-ins but we didn't do much in extra time. It's a bitter defeat.
"I was really surprised it was a free kick at first, but my colleagues in the stands said it was a red card. It's an experienced referee. I think it's probably right."
With penalties looming, Zinchenko whipped in a perfect cross and Dovbyk met it right in front of the goal and fashioned a glancing header that beat Olsen to send Ukraine into the quarters.
The Man City defender said after the match: "First of all, I'd like to thank supporters. The victory is for you. This victory I'd like to dedicate you to Besedin, he received a horrible injury - when I came back to the locker room, I was beside myself. I'm sure he'll come back stronger."
Ukraine will now face England, who beat Germany earlier in the day, in the last-8 in Rome on Saturday.
"I said several times before, it doesn't matter what team you play for and if you're part of a team, it doesn't matter where you play, you have to give your all," Zinchenko added. "I will do everything possible and impossible for it."