After a tight first half, Zlatan Ibrahimović opened the scoring for the Swedes when he turned in Kim Kallstrom’s cross from close range in the 52nd minute.
But Ukraine captain Shevchenko equalised moments later when he sent a powerful header past Andreas Isaksson.
And the former Chelsea forward netted the winner with just under 30 minutes to play, glancing Oleg Gusev’s corner into the Swedish net.
“I have so many emotions right now,” Shevchenko said.
“This is fantastic! The European championship, playing at home, the opening match, and we win 2-1! And well deserved too – we played very well. I am so happy, so emotional.
“You know, the corners are prepared [referring to his second goal]. The rest is the result of the unfortunate friendly matches we have had.
“The lads pulled it together today and played a wonderful game. Such character, brilliant combinations. We have a good chance of getting to the next round, so now we will concentrate on recovering before the game against France [on Friday].”
The co-hosts face France in their next game in Group D on Friday, before taking on England in their final fixture.
And Shevchenko admits Ukraine must approach each tie as if it were the final if they want to reach the quarter-finals.
“Each game we approach like a final,” he added. “Today it was the opening game at home, we won and showed outstanding football qualities. We will be preparing for the next game the same way.”
MORE: Man United latest news
MORE: Arsenal latest news
MORE: Chelsea latest news
MORE: Liverpool latest news