After a quiet start, Radja Nainggolan found himself on the end of a loose ball outside the Juve box, but his drive from distance went wide.
© Getty Images
After a 10-minute period without much to shout about, Giorgio Chiellini had to head away a Francesco Totti shot and Kevin Strootman just failed to make contact with the ball as Roma began to take control.
Gervinho then did well down the right flank to drive in a cross, but Florenzi was unable to get the best connection.
Roma survived a scare in the opening minute of the second half when Federico Peluso's header into the net was ruled out as the ball had drifted out of play before it came back for the Juve player.
With the match edging closer to the 90-minute mark, Roma finally broke the deadlock as Miralem Pjanic picked out Strootman, whose cross from the byline was turned in acrobatically by Gervinho.
Pjanic almost doubled the advantage in stoppage time, but his shot clipped the post and went out of play.