England will play Ecuador in the last 16 of the World Cup after securing a draw with Sweden to top Group B.
Larsson's late strike denied Gerrard a winner for England
England went in front when Joe Cole hit a sensational lob from 35 yards, only for Marcus Allback to equalise when he headed home from a right-wing corner.
Steven Gerrard headed in Joe Cole's 85th-minute cross, but Henrik Larsson levelled for Sweden in injury time.
The result was marred by a knee injury to striker Michael Owen, who was stretchered off in the first minute.
England will now meet Ecuador in the second round on Sunday at 1600 BST in Stuttgart, while Sweden play Germany in Munich 24 hours earlier.
It was an improved display from England, but they will be concerned by the way they struggled after the break having dominated the first half.
England knew if they could win or draw they would avoid a knock-out encounter with in-form hosts Germany.
But if Sven-Goran Eriksson was looking for a bright start from his side, it could barely have been any worse.
With less than a minute on the clock, Owen picked the ball up on the left and as he tried to pass it, his right knee buckled underneath him.
He immediately crawled to the touchline in agony and received treatment before being stretchered off, replaced by Peter Crouch.
Owen's team-mates looked shell-shocked at such a cruel twist of fate and the contest took time to get going as a result.
When it did get going it was England in the ascendancy, as Joe Cole fired over and Rooney went on a mazy dribble only to see Teddy Lucic block his goalbound shot.
When they went ahead, it was thanks to a goal that announced Joe Cole on the world stage as one of the stars of this tournament.
Cole struck a brilliant opening goal for England
The Chelsea midfielder chested down a clearance 35 yards out and hit the most outrageous, dipping volley that Andreas Isaksson could only help into the top corner.
In a World Cup already full to the brim of sensational strikes, this one will remain up there with the very best.
England were buzzing, Joe Cole and Rooney in particular, and Frank Lampard and Rooney shot just over as England tried to double their lead.
But they were hit by a sucker-punch six minutes after the break, as Allback rose all too easily to glance home a Tobias Linderoth corner.
Former Villa striker Allback nearly made it two from another corner as England failed to learn their lesson, this time the ball ricocheting off Jamie Carragher's arm and Paul Robinson brilliantly reacting to tip it onto the bar.
ENGLAND'S ROUTE TO THE FINAL
25 June: Second round
1 July: Quarter-final
5 July: Semi-final
9 July: Final
From being in total control, England were all of a sudden in disarray.
Another corner, another free header - this time for Lucic - and Olof Mellberg volleyed against Robinson's crossbar.
England still looked shaky at the back and substitute Gerrard had to hack the ball off the line after Kim Kallstrom fired goalwards, as yet again a corner caused chaos.
Just as England looked like they were on the rack, Joe Cole crossed for Gerrard to nod in at the far post.
But they were denied a first win over Sweden since 22 May 1968 when they failed to clear another ball pumped into their box and Larsson pounced to poke home.
Sweden: Isaksson, Lucic, Mellberg, Edman, Alexandersson, Linderoth (Andersson 90), Kallstrom, Ljungberg, Jonson (Wilhelmsson 54), Larsson, Allback (Elmander 74).
Subs Not Used: Alvbage, Hansson, Ibrahimovic, Nilsson, Rosenberg, Shaaban, Stenman, Anders Svensson, Karl Svensson.
Booked: Alexandersson, Ljungberg.
Goals: Allback 51, Larsson 90.
England: Robinson, Carragher, Ferdinand (Campbell 56), Terry, Ashley Cole, Beckham, Lampard, Hargreaves, Joe Cole, Rooney (Gerrard 69), Owen (Crouch 4).
Subs Not Used: Bridge, Carrick, Carson, Downing, James, Jenas, Lennon, Neville, Walcott.
Goals: Joe Cole 34, Gerrard 85.
Ref: Massimo Busacca (Switzerland).
Fifa man of the match: Joe Cole
Marcus Allback scored the 2,000th goal in World Cup history by netting Sweden's equaliser (1-1). Henrik Larsson's goal came 12 years after his first in the World Cup in 1994. The Swedish forward has now joined Pele, Uwe Seeler, Diego Maradona, Michael Laudrup and Sami Al Jaber as players who managed to net in the World Cup 12 years after their maiden goal in the competition.
Larsson appeared in the finals for the 12th time, becoming Sweden's most capped World Cup player ever. He equalled Kennet Andersson as Sweden's all-time World Cup top scorer with five goals, and also became the 19th player to score at three or more of the competition finals.
Michael Owen was substituted in the fourth minute of the match, equalling the fastest substitution in World Cup history. Sol Campbell became the tenth English player to appear in three World Cups, and England are still without a victory over Sweden since 22 May 1968.
Trivia stats source: Infostrada Sports