Oleg Blokhin’s men dominated possession early on but Zlatan Ibrahimovic gave Sweden the lead shortly after the break, scoring from close range while Ukraine had a player down injured.
But two goals in seven minutes from Shevchenko turned his side's fortunes around and gave them a win in their first ever European Championship finals to top the group.
It was a cagey start synonymous with many of the opening fixtures, and no real chances were fashioned in the opening 15 minutes. The Olimpiyskyi was a sea of yellow and the crowd was making its own entertainment with a tremendous atmosphere as both sides cautiously felt their way into the match.
Ibrahimovic was an early aerial target from set-pieces but the Scandinavians were having no joy, before the AC Milan forward found space on the right-hand side of the box, curling a dangerous ball towards the far post which Andreas Isaksson parried away.
But it was the co-hosts who were enjoying the lion’s share of possession. Shevchenko nearly sent the crowd
|SHEVA ENTHRALLS KIEV
|Ibrahimovic good, Shevchenko better: One of the greatest moments in a legendary career|
The game finally started to open up past the half-hour, when first Yevhen Konoplyanka struck a beautiful curling effort just wide from distance before a golden chance fell to Andriy Yarmolenko inside the area, but some heroic last-ditch defending from the Swedes kept the scoresheet blank.
Ibrahimovic was then inches away from opening the scoring, connecting freely with a floated ball over from the right, but his header flicked agonisingly wide off the far post.
Ukraine started the second half as brightly as they ended the first, but it was Sweden who went ahead. Left-back Yevhen Selin was down injured but Sweden played on, and Sebastian Larsson’s cross fell to Kim Kallstrom, who passed low for Ibrahimovic to stab home from close range.
The lead was brief, however, and the co-hosts were quickly back on level terms. Yarmolenko played in a superb cross from the right, and Shevchenko rose in front of the defender to power a header inside Isaksson’s near post and send the fans into raptures.
Six minutes later national hero Shevchenko struck again, racing to the near post to meet Konoplankya’s corner and head low into the net to give Ukraine the lead, leaving Hamren’s side completely stunned and the 65,000 home supporters ecstatic.
Johan Elmander came on for Sweden with 20 minutes left as they looked to find an equaliser, and Ibrahimovic nearly produced the goods, unleashing a fearsome shot towards goal from 20 yards which Andriy Pyatov knew very little about as it ricocheted off him and was cleared.
Hero of the hour Shevchenko came off with 10 minutes left to a well-deserved ovation as Sweden continued to push forward and test the Ukraine defence, with substitute Christian Wilhelmsson providing much of the threat down the left-hand side.
Elmander had a glorious chance to equalise at the death, latching on to a lofted ball, but he blasted over when through on goal before makeshift striker Olof Mellberg lofted a volley over the bar. The co-hosts held on for the win and will face France in Donetsk on Friday as Group D leaders.