Nainggolan showed off his impressive long-range shooting either side of half-time to put the Giallorossi in a commanding position at the Stadio Giuseppe Meazza, in a game the visitors controlled for large periods.
Mauro Icardi tapped home with just under 10 minutes remaining to set up a nervy finale but, after Edin Dzeko was fouled by Gary Medel in the box, substitute Diego Perotti stepped up and put the result beyond doubt.
The win moves Roma five points clear of Napoli in second in Serie A - and 11 clear of Stefano Pioli's men. They remain seven points behind leaders Juventus.
This content is provided by a third party. Because of the choice you have made about cookies on our
website, the external site does not have permission to display here.
If you would like to see the content, please change your cookie choices using either of the buttons
shown.
With fourth facing second in the Serie A table, it always threatened to be a heavyweight clash between two of Italy's in-form sides. But Nainggolan had different ideas, landing a near-knockout punch almost immediately.
Just 12 minutes had passed when the Belgin cut inside from the left, beating his man before firing a powerful right-footed drive that flew unerringly into the top corner.
That would not be the last time that happened on the night - shortly after the break, Nainggolan ran half the length of the pitch unchecked before beating Samir Handanovic once again with a piledriver from 20 yards.
Inter, struggling to respond, felt there were not getting much help from the referee - and, by the time Icardi got one back, it felt like they were running out of belief.
Nevertheless they had 10 minutes to save the game but, when Dzeko ran clear and was clumsily brought down by Medel, Perotti made absolutely no mistake from 12 yards.
On a night of impressive performances, it was Nainggolan who would walk away with the plaudits. And not surprisingly, given his two exquisite strikes settled this clash.
Luciano Spalletti was handed a headache before kick-off, as Emerson Palmieri was adjudged to be not fit enough to start after suffering a slight knock. The boss opted to continue with Juan Jesus in defence alongside Antonio Rudiger, Kostas Manolas and Federico Fazio - giving him flexibility to switch between a variety of defensive setups and systems.
Other than that it was a familiar side, with Nainggolan and Mohamed Salah supporting Edin Dzeko in attack.
5' - Fazio makes an important challenge to deny Icardi a look at goal...
8' - First chance for Roma... Dzeko finds Salah for the low curler but Handanovic makes a good save!
12' - GOAL! ROMA AHEAD! From the left, Nainggolan cuts inside and hits a curler from 20 yards that flies into the far top corner! Handanovic had no chance! 1-0!
14' - Almost an immediate response from Inter, but Joao Mario's strike is deflected over! End-to-end stuff!
31' - A break in play as Szczesny gets treatment. The 'keeper collects Fazio's header back but collides with Joao Mario.
36' - SO CLOSE! A low drive from Dzeko is palmed away by Handanovic ... and Salah is narrowly beaten to the rebound!
42' - Rudiger makes a vital clearance, and from the corner Icardi heads high and wide of the far post.
45' - Szczesny parries away Perisic's awkward shot at goal. One minute of added time.
See more images in our dedicated match gallery.
50' - Did he get a touch!?? Perisic is free in the box and looks certain to score, but Peres gets a vital deflection!
56' - GOAL! RADJA DOES IT AGAIN! What a strike!! A 3-on-3 counter sees Nainggolan carry the ball from the halfway line - and he finds the top corner again from 20 yards! 0-2!
64' - A great chance for Icardi from Perisic's cross, but he drives over from eight yards out.
73' - Almost an immediate impact from Perotti! He counters brilliantly and then, after the ball runs free, nearly finds Dzeko for a third!
80' - Great chance for Manolas to make it three, but he can't hit the target as he meets the inswinging free-kick!
81' - Goal for Inter - and a lifeline. Perisic drives the ball across goal and Icardi touches it home. 1-2.
84' - PENALTY! Dzeko is fouled by Medel!
84' - GOOALLL! VICTORY FOR ROMA! Perotti converts calmly! 1-3!
90' - Incredible late bit of goalkeeping from Szczesny to prevent a second Inter goal!
See more game statistics in our dedicated match centre.
This content is provided by a third party. Because of the choice you have made about cookies on our
website, the external site does not have permission to display here.
If you would like to see the content, please change your cookie choices using either of the buttons
shown.
This content is provided by a third party. Because of the choice you have made about cookies on our
website, the external site does not have permission to display here.
If you would like to see the content, please change your cookie choices using either of the buttons
shown.
This content is provided by a third party. Because of the choice you have made about cookies on our
website, the external site does not have permission to display here.
If you would like to see the content, please change your cookie choices using either of the buttons
shown.
“I just have to focus on doing what the boss asks of me. I like the position, I’m scoring goals and I’m happy. But I’m just one player in the team – without the rest of the team, I’m just like everyone else.”
- Radja Nainggolan
“It was a great performance and we deserved to take the lead and score a second. We didn’t manage possession too well at times – we gave it away too often – but it was a top match from us tonight.”
- Luciano Spalletti
Things only get even busier now for the Giallorossi. On Saturday they have another huge league encounter, at home to Napoli, but before they can get to that there is the small matter of the first leg of the Coppa Italia semi-final against Lazio.
Following the Napoli game the squad travel to Lyon for the first leg of their Europa League last-16 tie, with the return leg the following week (March 16). Before that there is another away trip, this time to face Palermo.
Goalscorers: Nainggolan (12', 56'), Perotti (86'); Icardi (81')
Inter Milan: Handanovic; Murillo, Medel, D'Ambrosio; Candreva, Gagliardini, Kondogbia, Brozovic (Eder), Perisic; Joao Mario; Icardi.
Roma: Szczesny; Manolas, Fazio, Rudiger; Jesus, Strootman, De Rossi (Paredes), Peres (Vermaelen); Nainggolan, Salah (Perotti); Dzeko.
I confirm that I have read the privacy policy.
© 2018-2024 Soccer S.r.l. – EU VAT IT09305501000 - all rights reserved. The AS Roma names, logos and artwork are registered or unregistered trademarks of Soccer S.r.l. All other trademarks may be the property of their respective holders.