Massimiliano Allegri's men were given a run for their money against the Giallorossi, but secured the victory in a thrilling game
Roma pushed hard for an equaliser after the break, but were punished by Ibrahimovic, who completed his brace. Bojan found a late goal for the Giallorossi, but it proved a mere consolation.
The Giallorossi dominated the proceedings early on as they were keeping possession, pinning back the visitors in their own half. This, however, was leaving them vulnerable to swift counter-attacks and Massimiliano Allegri's players soon took advantage of this.
In the 17th minute a sublime cross by Alberto Aquilani found Ibrahimovic, who headed past Maarten Stekelenburg in a typically powerful fashion to give AC Milan the lead.
Roma, spurred on by conceding a relatively simple goal, decided to pump even more bodies in the final third, and their gamble soon produced results as AC Milan were struggling to cope with the pressure.
In the 28th minute some appalling defending by Gianluca Zambrotta allowed Burdisso to head in the equaliser, following a corner on the left as the Rossoneri finally buckled under the pressure.
On the half-hour mark, however, veteran Nesta put the Rossoneri back in the driving seat with a carbon copy of the Argentinian's strike as he headed past Stekelenburg after a pass by Robinho.
Things went from bad to worse for Luis Enrique's men in the 39th minute, when Fabio Borini picked up and injury and had to be replaced by ex-Barcelona striker and Spain international Bojan.
Roma started brightly in the second period, but were struggling to break AC Milan's resolute defence. The Rossoneri had Nesta to thank in the 55th minute, when the ex-Lazio man made a crucial intervention to prevent a shot from Bojan going past the beaten Christian Abbiati.
Moments later the goalkeeper redeemed himself as he pulled off an immense save to stop a Miralem Pjanic free-kick from going in the left corner. In a curious accident in the 68th minute substituted midfielder Kevin-Prince Boateng was sent off after he allegedly verbally abused the fourth referee.
Meanwhile Roma were continuing to press and nearly equalised moments later, when Abbiati pulled off an immense reflex save from six yards out to deny Pablo Osvaldo. The Giallorossi, however, were looking increasingly fragile at the back, and soon paid the price for their reckless attacking.
Aquilani was once again the provider in the 78th minute, when his cross from the left was met with a header by Ibrahimovic, who completed his brace to put the game beyond the Giallorossi's reach.
Roma ultimately managed to score again through Bojan, but it was too late, too little as the game finished 2-3.
How do you stay up with football when on the move? With http://m.goal.com –your best source for mobile coverage of the beautiful game.