The Lupi stunned Massimiliano Allegri's men at San Siro.
Marco Borriello came back to haunt Milan as the Italian striker netted the only goal of the game in Roma's vital 1-0 win at San Siro.
The Lupi snapped the home side’s seven game unbeaten streak in Serie A and kept them within touching distance of the leaders ahead of the winter break.
The visitors seemed to be content to play for a draw, but they bided their time until Borriello hit the Rossoneri with a real sucker punch in the second half.The hosts looked to sprint out of the starting blocks and fired an early warning shot when Robinho left Philippe Mexes for dead and curled his effort just past the far post.
Gennaro Gattuso should have tested Doni moments later but he directed his first time shot over the bar.
Roma did not look comfortable on the ball in the early going and Claudio Ranieri’s decision to keep Francesco Totti and David Pizarro on the bench may have been a big reason why.
The Giallorossi were determined to take the air out of the match and committed a series of fouls, one of which by Jeremy Menez forced Andrea Pirlo into taking an early shower.
Clear-cut opportunities were hard to come by in the first half hour as the visitors plugged things up in the midfield.
Both sides then traded half-chances when Kevin-Prince Boateng’s pass across the face of goal eluded Zlatan Ibrahimovic while Menez blasted a shot over the bar from the edge of the area.Ibrahimovic had a glorious chance to break the scoreless deadlock in the 35th minute when he beat the offside trap and was one-on-one with Doni but seemed to be caught in two minds and his feeble shot fell into the arms of the ‘keeper.
Roma did well to stifle the attacks from the home side for the remainder of the half and went into the interval on level terms with the league leaders.
The second session started as the first half had ended: devoid of any real scoring chances. Roma were content to pack the midfield and dare Milan to carve them open and without Pirlo, the hosts weren’t able to do so.
Borriello saw an opening in the penalty area on the hour mark but he was quickly closed down by Alessandro Nesta who made a wonderful sliding tackle.
The visitors then hit the league leaders with a sucker punch in the 69th minute as Menez blew past Luca Antonini and sent in a low cross that Ignazio Abate failed to deal with and Borriello smacked the ball past the helpless Christian Abbiati.
The San Siro faithful were stunned and Ibrahimovic had a wonderful chance to level matters moments later but he smacked his shot over the bar although it wouldn’t have counted as the linesman had his flag up for offside.
De Rossi then almost doubled the Lupi's advantage in the 75th minute as he struck a sweet volley that Abbiati had to tip over the bar.
Milan came at the visitors in waves in the last 10 minutes but substitute Ronaldinho couldn't keep his overhead kick from sailing over the bar and Massimo Ambrosini wasn't able to poke the ball past Doni.
Roma held on in injury time to claim a herculean victory and open up the title race before tomorrow's matches.