Goals from Danny Welbeck and debutant Steven Caulker have cancelled out Zlatan Ibrahimovic's opener to give England a 2-1 lead over Sweden at half-time.
The hosts took the lead after 20 minutes when Raheem Sterling was dispossessed by Martin Olsson, allowing the Swedes to break and eventually give the ball to Zlatan Ibrahimovic, who lashed his shot past Joe Hart at the second time of asking.
Sterling looked to atone for his error minutes later by leading a break that led to Liverpool teammate Glen Johnson fizzing a shot wide, with Tom Cleverley inches away from getting a toe on it to poke it goalwards.
Sweden should have doubled their lead just after the half-hour mark when Mathias Ranegie was presented with an open goal, but the striker somehow put the ball over the bar.
England punished the Swedes for this miss just minutes later as Sterling found Ashley Young, whose cross found Welbeck for an easy tap-in to make it 1-1.
The Three Lions completed the comeback in the 38th minute as Steven Gerrard, winning his 100th cap, swung in a fierce delivery that Caulker poked home from close range to give them the lead going into the break.