Inter ended Roma's eight-match winning streak in Serie A, but a late equaliser from Radja Nainggolan meant they had to settle for a 1-1 draw at Stadio Olimpico.
A cool finish from Ivan Perisic, who netted for the fourth consecutive match, early in the second half looked to have brought an abrupt end to the hosts' stunning run of domestic form and thrown the race for Champions League qualification wide open.
But Roma bombarded the Inter goal in search of an equaliser and duly got one with six minutes remaining through Nainggolan's low strike.
The draw means Roma remain five points clear of Inter in Serie A's third and final Champions League spot. Both sides will eagerly await the result of Fiorentina, who drop to fifth as a result of Inter's point, when they play at Frosinone on Sunday.
Roma are now unbeaten in seven home matches against Inter in Serie A, having not lost against them at Stadio Olimpico since 2008.
Roma, who welcomed Antonio Rudiger back from injury and brought Miralem Pjanic back into the side, threatened first when Diego Perotti fired just over after good wing play from Stephan El Shaarawy set up the chance.
Inter - without injured captain Mauro Icardi - made a decent response, with Adem Ljajic shooting straight at Wojciech Szczesny against his parent club and Perisic sending an effort just over.
Marcelo Brozovic could not trouble Szczesny from a decent opening, before Roma had the ball in the net at the other end.
Pjanic floated a wonderful ball over the top and Mohamed Salah showed great composure to control and flick his finish over Samir Handanovic, but he had strayed narrowly offside.
The hosts finished the first half on the front foot and persistence from Salah gave El Shaarawy a chance to shoot, but Handanovic made a solid stop from his acrobatic volley.
El Shaarawy forced Handanovic into action again with 30 seconds of the second half gone, but it was Inter who moved into the lead after 53 minutes.
Brozovic slipped through a pass to Perisic and his left-footed strike found the far corner, despite Szczesny getting a hand to the ball.
Luciano Spalletti responded by bringing on Edin Dzeko, who had been left out of the team even though he had scored against Udinese last time out.
The striker was quickly involved in the action with two chances in quick succession. First, his header from Perotti's cross was well saved by Handanovic after appearing to touch the hand of Miranda on the way through, before he poorly lashed a shot over when Salah's pass had given him a presentable opportunity.
Roma continued to press and El Shaarawy found the side netting, while Salah was denied by another Handanovic save after a neat turn in the area.
The assault continued and Inter defender Yuto Nagatomo had to hack clear from the line during a goalmouth scramble, before the equaliser arrived.
A scuffed effort from Dzeko inadvertently set up Nainggolan and he stretched to fire a low shot into the bottom corner to claim a point, keeping his side in pole position to reach the Champions League.