Ibrahimovic had put the home side in front in Stockholm after 20 minutes but goals from Danny Welbeck and Steven Caulker on debut gave England the lead before the break.
But the Sweden skipper found space to volley in an equaliser before blasting home a free-kick from distance to restore the home side's lead on the opening night at the new national stadium.
And the Paris St Germain striker saved the best until last - an outrageous long-range overhead volley after Hart had failed to clear with his head.
England began well but were caught out on the break when Martin Olsson tackled Raheem Sterling and Sweden were able to break. Caulker blocked Ibrahimovic's initial effort but the captain toe-poked in the rebound.
But 10 minutes before the interval England were level through Welbeck after a neat move that started when debutant Leon Osman won the ball in his own half.
Fellow new boy Sterling then threaded a pass through to Ashley Young on the left flank and the winger beat his man to cross for Welbeck to volley home at the far post.
Within minutes England were ahead. Sterling won a free-kick and Steven Gerrard, on his 100th appearance for England, curled in a cross for Caulker to slot the ball away.
In the second half, England handed further debuts to Ryan Shawcross, Carl Jenkinson and eventually Wilfried Zaha - making it six in all - as well as giving a run-out to the returning Jack Wilshere.
But the night was all about Ibrahimovic as he delivered a one-man exhibition of world-class forward play.
|1||1st Half Goals||2|
|5||Shots on Target||6|
|9||Shots off Target||4|
|42.5||1st Half Poss.||57.5|
|46.3||2nd Half Poss.||53.7|