Sweden's legendary forward Zlatan Ibrahimovic put the visitors ahead in the 52nd minute but the 35-year-old Ukrainian captain's double header in the space of 7 minutes made it 2-1 and sealed three crucial points for the debutants in European Championship.
Unexpected Group toppers Ukraine kicked off their first Euro campaign in style (after separation from Soviet Union) against a confident Swedish side. Yellow was the only colour visible in the stands as Ukraine fought hard to satisfy their craving fans. Ukraine will be confident ahead of their Group matches against England and France who settled for a 1-1 draw earlier.
The Swedish side came into this match with the backing of four straight wins but the 'Men in Yellow' dominated the proceedings with hard running and quick passes. Ukrainians pressed aggressively as the strong Swedish side were made to work hard to get out of their own half.
But the men in blue and slash of yellow threatened on the counter attack when Ibrahimovic curled in a dangerous ball which was cleared by the quick-thinking goalkeeper Andriy Pyatov.
A few minutes later, the Swedish back-line failed to cover Shevchenko who raced inside the penalty box only to shoot wide, but despite the tight angle, Ukraine's top-scorer could've done better to at least test goalkeeper Andreas Isaksson.
Sweden had a couple of chances as Markus Rosenberg's shot was saved by Pyatov and Ibrahimovic's tricky run was blocked by the Yellow back-line.
Sweden's real chance came when Sebastian Larsson teamed up with captain Ibrahimovic whose header hit the right post. But the towering Swede couldn't miss another glorious chance in the 52rd minute. Poor man-marking from Ukraine saw Larsson's pass meet Kim Kallstorm on the left side who slotted in a low cross for a simple tap-in for Ibrahimovic.
Sweden's lead lasted for just three minutes as Shevchenko dived in to head-in Andriy Yarmolenko's cross. The veteran flew past defenders to meet the cross first and equalise from close range.
But the Ukrainian had more to cheer when their captain scored the winner in the 62nd minute. Oleg Gusev whipped in a corner to the near post as Shevchenko dodged his way ahead of Ibrahimovic to head the ball in from an unbelievable angle.
On the other hand, Sweden began their quest to level up things having taken the lead just 10 minutes back. None other than Ibrahimovic tested the shaky Pyatov with a volley followed by a header.
Substitute Johan Elmander came close to hurt the co-hosts but couldn't find the target in a one-on-one chance with the keeper. Swedish veteran defender Olof Mellberg rattled a shot over the cross bar.
Both Shevchenko and Ibrahimovic came close to wrap up the game. In the end, it was the former AC Milan striker who came good at the right time for his nation while the current AC Milan forward will rue his chances.
Ukraine kept most of the possession as Anatoliy Tymoschuk and Serhiy Nazarenko switched play to the flanks for Evgeni Konoplyanka and Andriy Yarmolenko.
A fabulous night at the Olympic stadium as Ukraine's players and fans celebrated their greatest football hero Andriy Shevchenko.