AC Milan's Cristian Zapata cancelled out Mattia Destro's opener in the 29th minute before Kevin Strootman put the visitors in front early in the second half from the penalty spot.
Sulley Muntari equalised with 13 minutes remaining to earn Milan a share of the spoils.
Roma remained undefeated 16 games into the season but are five points behind Juve, who won at Sassuolo at the weekend.
Milan, who were earlier on Monday drawn against Atletico Madrid in the last 16 of the Champions League, are 10th.
The Rossoneri have won just one of their last eight league games and are 16 points behind Napoli, who hold the last Champions League qualifying spot.
Roma captain Francesco Totti came on midway through the second half to end a two-month injury layoff.
Mario Balotelli had an early long-range attempt saved by Roma goalkeeper Morgan De Sanctis.
Roma broke through in the 13th minute when Strootman's perfect cross left Destro with an easy finish.
The visitors continued to press forward but Milan surprisingly pulled level.
There was little De Sanctis could do as Muntari headed a corner towards the far post and Zapata nodded the ball into the net.
Roma twice had the chance to go back in front before half-time.
Daniele Bonera made a goal-line clearance from Michael Bradley's volley which had caught AC Milan goalkeeper Christian Abbiati off his line.
Soon after, Zapata made a crucial sliding tackle on Gervinho in the box with the Roma striker looking to score his team's second of the evening.
Milan were forced to make their first substitution after the break with Gabriel replacing an injured Abbiati.
Gabriel wasted little time in making an impact, although it was not a good one for the hosts.
Gervinho was barely inside the area and looked to be heading nowhere when Gabriel raced out and brought him down.
The referee showed the Milan keeper a yellow card and pointed to the spot, with Strootman converting the opportunity by sending his effort towards the far post in the 51st minute.
Milan struggled to put a good move together and Roma should have killed the game off in the 70th minute but Bradley headed Maicon's cross wide from a good position.
Shortly after, AC Milan coach Massimiliano Allegri was sent off for dissent after stepping beyond his technical area.
Milan nevertheless equalised when Balotelli spotted Muntari in the area and he struck the ball towards the far post and out of De Sanctis' reach.
The Rossoneri had a chance to claim all three points deep in stoppage time but Balotelli fired wide with only De Sanctis left to beat.