Nigel Worthington’s side trailed to a first half goal from Olof Mellberg at the Råsunda Stadium, but hit back to snatch a well deserved point late in the second half thanks to Burnley striker Lafferty.
“To come into Sweden’s back garden, take the game to them and perform like that was outstanding,” said Worthington.
Group F leaders Sweden were left frustrated at squandering the win that would have sealed their place at next year’s finals, although they should still make it.
Northern Ireland really needed a winner but still have a slender chance of qualifying.
Worthington’s team must hope Sweden beat Spain and then defeat Denmark and Spain themselves in their last two matches if they are to get to the finals.
The Irish got a pre-match lift when Sweden winger Freddie Ljungberg withdrew minutes before kick-off with a calf injury.
There had been nothing to worry the visitors until the 15th minute when Lafferty was penalized for a foul on Erik Edman.
Tobias Linderoth whipped in the set-piece and Mellberg got ahead of Aaron Hughes to turn in Kim Källstrom’s flick at the far post.
That could have shattered the visitors, who had won just two of their last 27 competitive away games. Instead it triggered an immediate response.
David Healy’s double strike had helped Northern Ireland shock Sweden in Belfast in March, and the Fulham striker was close to scoring again with a powerful free-kick that Andreas Isaksson pushed away.
Zlatan Ibrahimovic’s low shot drew a good save from Taylor, then a mistake by McAuley gifted Johan Elmander a chance but he dragged his shot wide.
Northern Ireland kept plugging away and Chris Brunt tried his luck with a long range effort that flashed just over the bar after an hour.
There was no doubting Northern Ireland’s tenacity. They ran themselves into the
ground and were rewarded in with a 72nd minute equaliser.
Lafferty produced a goal out of nothing when he muscled his way into the penalty area and curled a brilliant strike past Isaakson.