The 2016 champion and 20th seed saved three match points and missed three set points before the world no.72 prevailed 6-3, 7-6 (7-4), 1-6, 7-6 (13-11)
In a thrilling topsy-turvy contest, Nole edged past Kei Nishikori 2-6, 6-1, 6-3 to advance into his ninth Internazionali BNL d'Italia semi-final. He will take on top seed Rafael Nadal on Saturday at 15:00 CET. The two have faced each other 50 times with Nole leading 26–24.
Tomas Berdych is into the last four at The Championships after Novak retired with an elbow injury early in the second set.
Serbia will next play against France in away tie on September 15-17. It will be a rematch of the 2010 final when Serbia won their maiden title.
Defending champion remained on course for a fourth Shanghai Rolex Masters crown as he beat Mischa Zverev 3-6, 7-6 (4), 6-3.
Novak cruised into his 30th Major semi-final with a 6-3, 7-5, 6-3 victory over no.7 seed Tomas Berdych on Thursday.