The world's top two will meet in the final of the Western & Southern Open after straight sets successes in their semi-finals.
Roger Federer maintained his record of not losing a set in the Cincinnati tournament as he won his all-Swiss match against Stanislas Wawrinka 7-6 (7/4), 6-3, while Novak Djokovic earned quick revenge for his Olympic defeat to Juan Martin del Potro with a 6-3 6-2 success.
Top-ranked Federer, seeking to win this tournament for the fifth time, won the first set on the tiebreak after squandering five set points before completing the job in a more straightforward second set.
Federer told www.atptour.com after the success: "I have to look at the long term, and I would like to stay around for as long as I can.
"For that reason I have to peace myself at times, but I'm happy I'm playing so well again right off the bat again here in the States."
Looking ahead to the US Open, which starts next week, Federer added: "I hope I can keep it up tomorrow [Sunday] and then also in New York."
Djokovic broke Del Potro to go up 4-2 ahead in the first set and served it out. He broke again for a 2-1 advantage in the second set - and the Argentinian's resistance was broken.
The Serbian, who came into this tournament on the back of success in the Rogers Cup at Toronto, said afterwards: "I try to step into the court and take my chances. It's what I have been trying to do in last couple of years.
"Sometimes it works, sometimes not, but it's been working quite often for me actually in last two weeks."
Watch: Djokovic to face Federer in final... More Videos
The women's final will be between Li Na and Angelique Kerber.
Li, seeking her first title of the season after defeats in finals at Sydney, Rome and Montreal, ended the challenge of Venus Williams.
The American needed treatment for a bad back during her 7-5 3-6 6-1 defeat to the Chinese player at the Lindner Tennis Centre.
Germany's Kerber booked a final clash against Li by seeing off Petra Kvitova 6-1 2-6 6-4 in one hour and 53 minutes.