Juventus end Roma's unbeaten streak
It was a 10th successive win for Antonio Conte's team and saw it extend its lead at the top of the table to eight points at the halfway stage of the season. It was Roma's first loss of the season.
''Our statistics are impressive and show that we fully deserve to be top of the table, clearing away any type of doubts,'' Juventus goalkeeper Gianluigi Buffon said. ''Today we won thanks to several incidents which we made the most of. While they were in the game, Roma showed they are a team to be feared, they are not second by chance. Roma impressed me for the first hour.''
Juventus was in complete control following goals from Arturo Vidal and Leonardo Bonucci but Roma was still fighting to get back in the game.
However, Daniele De Rossi was sent off for a brutal tackle on Giorgio Chiellini and Leandro Castan was also shown a straight red card two minutes later after he handled on the goalline.
Mirko Vucinic fired home the resulting penalty against his former club.
''We had so much possession but we weren't efficient up front,'' Roma coach Rudi Garcia said. ''For me that's the problem. We didn't have many chances but Buffon had a good first half, but they didn't have many chances either.
''We have to be stronger in the future to be able to win these matches, but the title race isn't over, it hasn't ended here, there are still 60 points at stake. We have to get back to winning as soon as possible. Our aim is to return to Europe, we are second so we are in the right spot.''
Earlier, Fiorentina beat Livorno 1-0 in the Tuscan derby and Cagliari drew 0-0 at Chievo Verona as Serie A resumed following a winter break.
There was bad news for Fiorentina as star striker Giuseppe Rossi was injured again. Rossi, who is the top scorer in Serie A, limped off in the second period with what appeared to be a knee injury. The United States-born player has only recently recovered from two years of injuries and several surgeries.
Juventus was boosted by the return of key playmaker Andrea Pirlo from a five-week injury layoff, but it was Roma which started the brighter and Gianluigi Buffon had to rush out smartly to close down Adem Ljajic after six minutes.
Roma had more possession and several half chances but Juventus looked dangerous on the counter - cheered on vociferously by the home fans - and took the lead in the 17th minute with its first real opportunity.
Carlos Tevez spun and threaded the ball through for Vidal to beat the offside trap and slot into the back of the net.
Juventus almost doubled its lead shortly before halftime when Tevez rolled a tantalizing ball across the face of goal but no one could get on the end of it for the tap-in.
The home side did score again immediately after the break when Bonucci was left unmarked at the far post and the Juventus defender slid in to turn home a Pirlo free kick.
There was bad news for Juventus as Tevez went off injured on the hour mark.
Roma's hopes of a comeback diminished following De Rossi's moment of madness and all but evaporated when Castan followed him.
In Tuscany, Fiorentina struggled at times before grinding out a 1-0 win against struggling Livorno.
Livorno almost took the lead shortly before Fiorentina scored, when Ibrahima Mbaye was left unmarked but headed off the crossbar. The visitors went close again when Paulinho rounded Fiorentina goalkeeper Neto but Rodriguez got back to clear off the line.
Fiorentina moved provisionally level on points with third-placed Napoli, which hosts Sampdoria on Monday. Livorno remained two points off safety.
Earlier, Cagliari missed a penalty as it was held to a 0-0 draw at lowly Chievo Verona.
Mauricio Pinilla blasted his spot kick over the bar in the 66th minute after the Chilean forward had been tripped by Bostjan Cesar. It was the first penalty Chievo had conceded all season.
Both teams struggled to create any scoring opportunities. Chievo's best chance came with its first sight of goal, just before the hour mark, when Cyril Thereau's effort scraped past the outside of the post.
Cagliari extended its unbeaten run to seven, while Chievo snapped a run of two defeats and moved provisionally two points off the relegation zone.