Rafael Nadal will face John Isner in the Cincinnati Open final after a straight sets win over Tomas Berdych.
The world number three, seeking to win the tournament for the first time, beat the Czech 7-5 7-6 (7-4).
Nadal broke Berdych's serve in the 11th game of the first set, then took the match on a tiebreak in the second.
Isner came from a set down to beat world number seven Juan Martin del Potro 6-7 (5-7) 7-6 (11-9) 6-3 to make his second Masters 1000 final.
Berdych, who beat Andy Murray to set up his meeting with Nadal, broke serve in the second set to take a 4-2 lead, but the Spaniard struck back immediately on Berdych's service and eventually took the match after two hours and six minutes.
In his semi-final, Del Potro took the first set on a tiebreak, but at 5-3 in the second the Argentine double-faulted when serving for the match.
Isner broke serve and made the most of his chance, taking the set 11-9 in another tiebreak.
The 28-year-old, ranked 22 in the world, won the first three games of the deciding set and stayed ahead of Del Potro to claim his place in the final.
Sunday's final gives Nadal a chance of claiming his 26th career Masters title one week after he destroyed Canada's Milos Raonic with a brilliant performance to win the Rogers Cup in Montreal in straight sets.