Sweden recorded only their third victory in a UEFA European Championship finals as two fine goals from Henrik Larsson and further strikes from Fredrik Ljungberg, Zlatan Ibrahimović and Marcus Allbäck powered them past Bulgaria in Lisbon.
It was a fairy-tale return to competitive international action for Larsson as he scored two goals in two minutes shortly before the hour to end as a contest a game in which Bulgaria battled bravely. Already ahead through Ljungberg's first-half opener, Larsson's spectacular diving header from Erik Edman's pinpoint left-wing cross doubled their lead after 57 minutes.
Seconds later, Anders Svensson's low cross from the right was missed by the diving Zdravko Zdravkov and Larsson knocked the ball into the roof of the net from close range. Ibrahimović scored a fourth from the penalty spot 12 minutes from time after Ljungberg had been brought down, and substitute Allbäck raced on to Larsson's chip to add a fifth late on.
Two well-drilled teams initially offered few clear scoring chances despite a bright start. Ivaylo Petkov had to be alert to the threat of Ibrahimović as early as the second minute when the AFC Ajax striker was first to Andreas Isaksson's long clearance, but the defender managed to block his shot. Moments later Mikael Nilsson's low left-wing cross flashed across the face of goal but failed to reach either Ibrahimović or Larsson.
Bulgaria also provided some attacking verve, and Georgi Peev should have forced Isaksson into action in the 12th minute after spinning on the edge of the box only to shoot tamely. Then Zoran Janković volleyed narrowly wide of Isaksson's right-hand post after connecting with Martin Petrov's outswinging cross from the left.
Sweden slowly began to dominate as Edman's shot from a close-range indirect free-kick was charged down by Stiliyan Petrov before Larsson's lunging half-volley from eight metres angled narrowly over following Nilsson's cross from the right.
Yet Bulgaria, inspired by Stiliyan Petrov's work rate, nearly broke the deadlock after 24 minutes when Martin Petrov flashed a low shot from the left of the area wide of Isaksson's left-hand post. Then Dimitar Berbatov's header forced the Sweden goalkeeper to back-pedal and tip over the bar.
The opening goal, however, came at the other end in the 32nd minute and was initiated by the impressive Nilsson, Sweden's only first-choice outfield player to ply his trade in the Allsvenskan. His pass along the right flank allowed Ibrahimović to beat the offside trap and draw keeper Zdravkov before rolling the ball for Ljungberg to fire in.
Shortly after the restart, Janković should have scored from Martin Petrov's cross but his header went agonisingly wide of Isaksson's right-hand post with the goalkeeper beaten. Sweden responded immediately when an amazing flick by Ibrahimović left Ljungberg with a free shot on goal, but Zdravkov was quickly down to parry the ball to safety with his knees.
Martin Petrov's excellent service into the penalty area was almost rewarded with a goal as his cross-cum-shot was narrowly missed by Berbatov. Seconds later two moments of magic from Larsson turned the match inexorably in Sweden's favour.