Two players were sent off in the first half - Kostas Manolas for the hosts and Riccardo Saponara for the visitors - as the Giallorossi fumbled their way to a stalemate
The home side was made to pay for half-hearted attempts at breaking down the visitors shortly before halftime, with Kostas Manolas deservedly red carded for a foul as the last man in the box. Massimo Maccarone then coolly converted from the spot.
Empoli was then unlucky to receive similar treatment, with Riccardo Saponara booked twice in the space of four minutes on the brink of halftime - the latter an innocuous-looking shoulder control of the ball - to make it 10 versus 10 in Rome.
Maicon's sweetly-struck equalizer triggered a barrage of Giallorossi attacks, but Empoli held on for a hard-earned point, leaving Roma at risk of going nine points behind Juventus in the title race should the Scudetto holder win on Sunday.
Roma's lack of key players - such as Gervinho, Daniele De Rossi and Kevin Strootman - showed in scrappy early stages, where the Giallorossi were restricted to long-distance strikes.
The game simmered as the first 20 minutes dragged on, with the visitors happy to shut up shop. Alessandro Florenzi was brought on for the injured Juan Iturbe with a third of the game almost gone and what followed was Roma's best chance yet.
The attacking substitute had the ball in acres of space at the back post, but he took too long to swap to his stronger foot and his shot was blocked excellently by Daniele Rugani.
The home team's failure to break down Maurizio Sarri's men - and a woefully wonky backline - allowed Saponara to break into the box with Yanga-Mbiwa trailing him, and Manolas was careless as he clattered into the back of the opposition player.
The Greek was shown a straight red card for his clumsiness and Maccarone cannoned his strike from 12 yards into the bottom corner, sending Morgan De Sanctis the wrong way.
Unsurprisingly, Rudi Garcia's men looked a little lost after the shock of going behind and a man down but, on the brink of halftime, they were gifted a helping hand by dodgy refereeing which saw Saponara sent for an early showers for an alleged handball.
In the 57th minute, Maicon equalized for Roma. The Brazilian curled gorgeously in off the post from the outer corner of the box on his left foot after a neat pass from Miralem Pjanic.
Roma had the wind in its sails from that point onwards. Substitute Davide Astori hit the crossbar with a header then Mario Rui pulled off a stunning slide tackle in his own area to deny Adem Ljajic what looked set to be a certain goal.
Heading into the clash, Empoli was the only side in Serie A not to have conceded in the final 15 minutes this season, and that statistic was maintained on Saturday as Roma's push for a winner subsided as fatigue seeped in.