Roma & Milan share Stadio Olimpico spoils
Second-placed Milan were on top for most of the match and Klaas-Jan Huntelaar headed over a glorious chance to break the deadlock in the closing stages.
Juventus boosted their Champions League qualification hopes with a 2-1 victory at Fiorentina that lifted them to fourth.
Roma made an aggressive start at a packed Stadio Olimpico with Daniele De Rossi shooting just wide and Julio Baptista forcing a decent save from Christian Abbiati with a powerful strike early on.
But Milan gradually worked their way into the match and they were in control by the middle of the first half.
Marco Borriello blasted wide a good chance set up by Ronaldinho's threaded pass and Roma defender Nicolas Burdisso was lucky an attempt to head away a Mathieu Flamini cross did not fly into his own net.
The visitors continued to make the running after the break and Roma's Julio Sergio just managed to scramble the ball away in the 55th when Borriello burst into the area and aimed inside the near post.
Roma were more dangerous after striker Luca Toni came on just before the hour as he returned from a calf injury that had sidelined him since January.
Mirko Vucinic nodded a fine opportunity wide and Abbiati did well to repel a John Arne Riise piledriver in stoppage time.
Milan coach Leonardo had sprung a surprise by giving Huntelaar injured Alexandre Pato's place in his attacking trident rather than David Beckham, who set up a good chance for Ronaldinho after coming on in the 72nd minute.
The England midfielder will hope he was being rested for Wednesday's visit to his former club Manchester United in the Champions League last 16, when Milan need to reverse a 3-2 deficit.
In Florence Italy full-back Fabio Grosso, who came on as a substitute at the start of the second half, fired home what proved to be the winner from a tight angle in the 68th minute.
Juve's Brazilian playmaker Diego had dribbled past keeper Sebastien Frey and slotted into an empty net to give the visitors the lead in the second minute after Antonio Candreva had sprung the offside trap with a smart pass.
Former Juve midfielder Marco Marchionni headed the home side level in the 32nd when Alex Manninger, standing in for injured Italy goalkeeper Gianluigi Buffon, came out to intercept a cross but missed the ball.
Juve have 44 points from 27 games, one more than Palermo who can regain fourth place by beating lowly Livorno in Sicily on Sunday.
Faltering Fiorentina, who host Bayern Munich on Tuesday in the Champions League last 16, are 10th.