For the second match in succession Novak Djokovic survived a three-hour Italian Open dogfight, this time beating big-serving Canadian Milos Raonic 6-7 7-6 6-3 to reach the final.
Djokovic, who won a sizzling quarter-final against Spain's David Ferrer, was subjected to an onslaught of power by Raonic but eventually got the upper hand to book a final against either top seed Rafa Nadal or Bulgarian Grigor Dimitrov.
He started in low-key fashion, apparently content to bide his time as Raonic unleashed serves at 230kmh.
The 26-year-old looked to have the first set sewn up when he won the first three points in the day's first tiebreak, only for Raonic to fire back with an incredible six-point streak on his way to sealing an opening set in which he flung down eight aces.
Djokovic hits back
Djokovic was in the box seat in the second set when he finally broke Raonic's serve in the fourth game after an hour and 42 minutes, only for the Canadian to break right back in a game that contained an improbable backhand drop shot.
The set drifted to another tiebreak, and despite Raonic fighting back from 2-0 down Djokovic held his nerve to take it 7-4 and set up a decider.
Raonic dropped serve immediately in the third and that spelt the end of his challenge as Djokovic moved through to the final where he will be hoping to land a third Rome title and a 19th Masters 1000 crown.
In the women's event Sara Errani became the first Italian to reach the final in nearly 30 years after she saw off Serbia's twice former champion Jelena Jankovic 6-3 7-5 in front of a passionate crowd at the Foro Italico.
"The crowd was a motivation for me, they were unbelievable," said a delighted Errani, who will have to beat either world number one Serena Williams or Ana Ivanovic if she is to go one better than compatriot Raffaella Reggi in 1985.