The visitors were in generous mood as Joe Hart spilled a pass to gift Icardi the opener but a collective defensive blunder allowed Torino's Andrea Belotti to equalise in the second half.
With Inter's verve seemingly dying down, they were lucky Icardi was there to rescue the situation with a wonderful turn and shot into the top corner.
Inter generally controlled the flow of the play. Ever Banega and Joao Mario looked completely in sync and Icardi scored for the first time in over a month.
The defence fell asleep at the back. Both full-backs need to contribute more, otherwise preferring Cristian Ansaldi instead of Diego Laxalt will look like a very poor call indeed. Laxalt, who made his move to Genoa permanent in July after a loan spell, would surely be a better option than Yuto Nagatomo.
Manager rating out of 10
6 -- Coach Ronald De Boer got his tactics spot on, but could have made better changes. Does he not trust Gabigol to do better than Rodrigo Palacio?
Player ratings (1-10; 10 = best. Players introduced after 70 minutes get no rating)
GK Samir Handanovic, 5 -- Hit Icardi on the head with a clearance, which could have allowed Torino to counter again. Could have done better for Belotti's goal, though he imposed himself with authority in the box.
Cristian Ansaldi, 5 -- Wasteful and didn't add a lot in attack. Someone like Antonio Candreva needs someone to overlap but Inter fans saw too little of that. Some decent tackling at the back, where teammate Adem Ljajic really didn't help much, but spoiled it all by tripping over Jeison Murillo for Belotti's goal.
DF Joao Miranda, 5 -- Was lucky to go unpunished when he wrapped his arm around Maxi Lopez's neck in the box, and when he was tackled by Belotti near the penalty spot. Didn't impose himself in the air before Torino's equaliser. However, he made a few key tackles.
DF Jeison Murillo, 5 -- Fared slightly better than Miranda but partly at fault for the equaliser after getting in a muddle with Ansaldi.
DF Yuto Nagatomo, 5 -- Solid in defence but still managed to fluff a clearance when Inter were struggling. Gets credit for keeping the attack alive and one such chance led to Icardi's winner. But he was a sloppy crosser and didn't provide much of an option out wide for Eder.
MF Ever Banega, 8 -- Turned spinning balls into clean passes, manoeuvred beautifully in tight spots and made passing look easy. Inter haven't had a maestro of his calibre since the days of Juan Veron. Opened up Torino's defence for the first goal with a clever pass.
MF Joao Mario, 7 -- Looked bright early on, spreading the ball around with aplomb and ensuring Inter never struggled under Torino's pressure. Dipped in the second half, but worked supremely well alongside Banega and blocked passing channels very cleverly, too.
MF Marcelo Brozovic, 6 -- Would have earned a seven if he hadn't somehow failed to score from close range, with Hart completely beaten. Though he fired another effort straight at the on loan Manchester City goalkeeper, he was far more active in midfield. Solid in defence and provided Inter with a more direct approach.
MF Antonio Candreva, 5 -- Quantity, not quality. There's a reason he scored as many goals from penalties (five) as he did from open play last season. Both goals typified this: his pass to Icardi (which Hart spilled) was over hit, while the second owed a lot to Brozovic's ability to reclaim an errant cutback. Great to see him run until the bitter end, but his shooting was off, too.
MF Eder, 7 -- Finally looks to have found his niche, drifting cleverly between the lines, rescuing plenty of passes and looking elegant on the ball. Combined well with Banega and teed up Candreva's volley with a clever dink.
FW Mauro Icardi, 7 -- He's never boring, is he? Great effort and belief to follow up Candreva's inaccurate pass -- gambling on mistakes is one of the marks of a great striker. Generally did his part well in attack, teeing up Brozovic for what should have been Inter's second. His second was a masterpiece. His wastefulness, firing a shot wide when Candreva was open and fluffing a one-on-one, keeps his mark just below eight.
FW Rodrigo Palacio, 5 -- Looked lively when he had the ball, which wasn't often.