World number one Rafael Nadal squeezed past Marin Cilic into the Shanghai Masters final with a 7-5 7-6(3) victory over the big-serving Croatian on Saturday.
Nadal, runner-up in 2009, was pushed hard by the battling fourth seed, who put his booming forehand to good use but failed to derail the Spaniard, who has now won 16 matches in a row.
The 31-year-old Nadal, who will face Swiss Roger Federer or Argentine Juan Martin del Potro in Sunday's final, forced Cilic to save six break points in his first two service games.
The Croat hung on and even had a chance to take the lead, but squandered three break points of his own with the score tied at 5-5 in the first set. Nadal then finally broke the world number five before serving out the set.
The Spaniard looked set for a routine win when he broke again early in the second to go 2-1 up, but Cilic had other ideas, forcing him to cough up another break point in the sixth game.
Nadal missed an easy volley with his opponent stranded and pounded the net cord with his racket in frustration as Cilic wheeled away pumping his fist after levelling things up.
There was more drama to come as a flurry of Cilic errors gave Nadal three break points with the second set tied at 4-4.
The Croatian, who made 40 unforced errors in total, got himself out of trouble with three big serves but double faulted to hand the initiative back to Nadal and skied a forehand to give his opponent the chance to serve out the match.
Nadal failed to capitalise, squandering a match point before Cilic unleashed two massive forehands to level again at 5-5 as the set headed towards a tiebreak where Nadal's ability to hold his nerve in clutch situations proved the difference.