Ibrahimovic scored a blistering first goal in the 13th minute from the penalty spot after Croatian goalkeeper Stipe Pletikosa tackled Rasmus Elm.
Croatia levelled in the 44th minute by Jonas Olsson who accidentally lobbed his own goalkeeper.
Sebastian Larsson then put the game to bed with goals in in the 46th and the 69th minute.
“It was a good game. We played against a very good team, we are very happy and hope that we can continue (playing) like this in the games to come,” Ibrahimovic told Croatian national television.
Asked about Sweden’s chances at Euro 2012 Ibrahimovic said: “We’ll do our best like any other team and you can never know what can happen at Euro but we hope for the best.
“For sure we will prepare and hope to go as far as possible.”
Swedish coach Erik Hamrén also used the friendly to try out some new talent, playing 19-year-old John Guidetti, currently playing for Premier League team Manchester City on loan from Dutch Feyenoord, for one half of the match.
Ibrahimovic said after the game that he thinks Guidetti deserves a place on the Swedish Euro 2012 side, calling him an “exciting” player.
Hamrén is set to announce his side on May 14th.
Sweden have been paired alongside England, France and co-hosts Ukraine in Group D at Euro 2012, which runs from June 8 to July 1 in Poland and Ukraine.
Croatia coach Slaven Bilic said that his opponents “played a tough, firm and well organised game.”
“In the first half we were ok, but in the second we deteriorated. Simply we were not good. Notably in the second half when we were much slower,” Bilic told national television.
Croatia have been drawn in Group C at Euro 2012 and will face defending champions Spain, Italy and the Republic of Ireland.
Their biggest success on the international stage was a third-place finish at the 1998 World Cup in France.