Greece were the surprise winners in that tournament, with a style based on a fierce discipline and a strong rearguard, and they appeared intent on defending their title in similar fashion.
Angelos Charisteas, whose goal beat Portugal in the last final, was the main Greek danger in the first half and he tested Sweden keeper Andreas Isaksson with a powerful shot after a driving run in the sixth minute.
Inter Milan striker Ibrahimovic almost got the opener the game so desperately needed after 32 minutes.
He stole in on the end of Freddie Ljungberg's cross but could only direct his header on to the roof of the net, with Greece keeper Antonis Nikopolidis stranded.
Ibrahimovic scored his first goal for Sweden since 2005
Charisteas was in the action again three minutes before the interval but once more he shot straight at Isaksson, who then saved well from an awkward, dipping Angelos Basinas effort.
Greece introduced striker Georgios Samaras for Fanis Gekas after the break but the stalemate continued in a game crying out for a goal.
And it almost came in bizarre fashion after 65 minutes when Hansson glanced Traianos Dellas' cross only inches wide of his own goal.
The deadlock was broken two minutes later - courtesy of a goal that was totally out of keeping with what had gone before.
Ibrahimovic played in Henrik Larsson before taking the return pass in his stride and sending a magnificent rising drive past Nikopolidis from 25 yards.
It was his last action of the game but soon after Sweden increased their lead with a scrambled second after 73 minutes.
Nikopolidis saved well from Ljungberg as he raced in on goal but the loose ball sparked an outbreak of mass confusion in the Greek penalty area and Hansson bundled home to effectively seal the win.
Greece had been desperately short of attacking invention but Vassilis Torosidis almost threw them a lifeline with three minutes left, forcing Isaksson into a fine block at his near post.
Sweden extended their unbeaten streak in European Championship matches to five (two wins and three draws), the longest current sequence without defeat in European Championship competition.
Zlatan Ibrahimovic's goal ended Antonis Nikopolidis' clean sheet streak of three European Championship matches (409 minutes) without conceding a goal. Only Edwin van der Sar (Holland, five matches) and Dino Zoff (Italy, four) have recorded longer sequences. Sweden's goalkeeper Andreas Isaksson now holds the longest running clean sheet streak (235 minutes).
Angelos Charisteas was booked after only 65 seconds in the game, collecting the fastest yellow card at Euro 2008.
Sweden (45 European Championship matches) and Greece (39) fielded the most experienced starting line-ups at Euro 2008 in terms of European Championship matches played. The record is held by France, who fielded a starting line-up with 80 European Championship matches under their belt in the Euro 2000 final against Italy.
Henrik Larsson (36 years and 264 days) became the oldest player to represent Sweden at the European Championship, breaking the eight year old record set by Roland Nilsson (36 years and 196 days at Euro 2000 against Belgium).
At 31 years and three days, Sweden's starting line-up is the second oldest in European Championship history, 49 days younger than Italy's starting line-up against the Netherlands on Monday, 9 June 2008. Greece also fielded their oldest starting line-up in European Championship history at an average age of 29 years and 325 days.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.