Cristian Volpato made the most of his substitute appearance on Monday, as the starlet scored one and set up another to help Roma register a
Roma should have taken the lead in the 19th minute when Tammy Abraham hit the upright with the goalkeeper well beaten, before the home side broke the deadlock with Pawel Dawidowicz's deflected strike.
But Dawidowicz went from hero to zero as the Pole saw red in the 35th minute after an awful tackle on Nicolo Zaniolo.
The Giallorossi got back on level terms before the interval when Abraham struck the woodwork again, but this time Zaniolo was alert to tap in.
Roma were dominant after the break, as Lorenzo Pellegrini's free kick was denied while Nemanja Matic's header smacked against the bar.
The game had been heading towards a draw until Volpato came to the rescue in the 88th minute when he fired in a volley from the edge of the box.
Roma then added another in stoppage time when Volpato's clever pass found Stephan El Shaarawy, who flicked the ball over the goalkeeper before finishing into the empty net.
With the win, Roma overtook city rivals Lazio for fourth place, with the two sides set to face off in the Derby della Capitale next week.
Also on Monday, Bologna beat Monza 2-1.