Despite going down to 10 men for the final 20 minutes, the Rossoneri left the capital with a share of the spoils after a frustrating encounter for Rudi Garcia's side
Rudi Garcia's men could have headed into the mid-season break trailing champions Juve by just a solitary point by winning Saturday's encounter at Stadio Olimpico.
However, the eagerly anticipated clash developed into somewhat of a war of attrition with few clear-cut chances, although Roma will feel they perhaps had the better openings in the Italian capital.
Milan goalkeeper Diego Lopez made smart first-half saves from Alessandro Florenzi and the impressive Gervinho, while Nigel de Jong was perhaps lucky not to concede a penalty for handball.
The visitors arguably edged the play in the second half, but their hopes were hindered when Pablo Armero was shown a second yellow card for handball, and Lopez was called on to again deny Gervinho in injury time.
A point means that Roma will resume in the new year three points off leaders Juve, while Milan - who have now failed to beat Roma in their last five meetings - remain in seventh having missed the chance to go level with third-placed Napoli.
Milan delivered an early warning in the second minute with a well struck 25-yard shot from Keisuke Honda that forced Morgan De Sanctis into a smart save low to his left.
Having made a slow start, Roma hit their stride and Florenzi had a great opportunity when he sprung the offside trap down the left and forced Lopez into a smart save with a half volley.
From the resulting corner Daniele De Rossi failed to make clean contact with his shot when the ball fell to him six yards from goal.
Roma's pressure continued and Lopez stopped a Gervinho effort with his legs after the forward showed great footwork to weave his way into the penalty area.
The flash point of the half came in the 32nd minute when Roma saw legitimate claims for a penalty ignored by referee Nicola Rizzoli after De Jong handled in the area to deny Gervinho's header.
De Sanctis ensured salt was not rubbed in the wounds when he produced a superb fingertip save from Philippe Mexes' thunderbolt 35-yard strike.
The visitors made a bright start to the second half and the in-form Jeremy Menez should have done better with a close-range effort that came off his shin and rolled harmlessly to De Sanctis.
Andrea Poli then dragged a shot wide from the edge of the box in the 55th minute, before Giacomo Bonaventura tested De Sanctis with a low drive after cutting in from the left.
Milan's chances of stealing a win were dealt a blow in the 71st minute when Armero was given his marching orders for deliberate handball as he look to challenge Seydou Keita midway into his own half.
Roma attempted to make the most of the numerical advantage in the last 10 minutes and substitute Mattia Destro had tentative claims for a penalty waved way when tugged to ground by Mexes.
Gervinho then came desperately close to an injury-time winner when he ghosted past several challenges, but he was again denied by Lopez from close range.