The visitors twice led in the match - goals from Pablo Osvaldo and Erik Lamela sandwiching an equaliser from Rolando Bianchi - but were left sweating at the end after their Italy international defender Federico Balzaretti picked up a second yellow card for a foul on Alessio Cerci.
Torino could not make the most of their numerical advantage though as Roma claimed a victory that moves them level on 51 points with fifth-placed Lazio, who play host to runaway leaders Juventus on Monday night.
Roma's European bid has stuttered of late with just one win from their previous four matches coming into Sunday's game, but they enjoyed the better of the early exchanges at the Stadio Olimpico and took the lead in the 22nd minute.
Balzaretti picked up a short corner from Miralem Pjanic before whipping in a deep cross which striker Osvaldo headed past Jean Francois Gillet for his first goal in eight matches.
Torino had barely threatened before that but they almost drew level with their first decent effort of the match, Cerci's 27th-minute free-kick striking the near post with Maarten Stekelenburg well beaten.
Roma survived that let-off but they were not so fortunate four minutes later as their hosts did draw level, Cerci crossing to Bianchi who beat Nicolas Burdisso before drilling home from point-blank range.
The momentum was now firmly with relegation-battling Torino and Mario Santana saw two efforts go just wide either side of half-time before Cerci struck the woodwork again with another superb free-kick in the 58th minute.
That escape seemed to spark Roma back to life as within two minutes they were back in front thanks to a brilliant goal from Lamela, who found the top right-hand corner of the net with a superb curling effort.
It was a goal that would ended up winning Roma the match, but the visitors did not make it easy for themselves with Balzaretti receiving his marching orders in the 80th minute for his challenge on Cerci.
Torino had one late hope of an equaliser when Roma substitute Alessandro Florenzi almost put through his own goal from close range, but the ball went wide and Aurelio Andreazzoli's men could breath a big sigh of relief.