Rafael Nadal recovered from a slow start, overcoming Marin Cilic 2-6, 6-4, 6-4 as the Spaniard's chase for a long-sought ATP Masters title on hard court heated up on Friday.
The world No 1 reached the semi-finals of the Rogers Cup in Toronto and will next face Russian Karen Khachanov, who beat Robin Haase 6-3, 6-1.
Nadal last won a title at this level on cement in 2013.
"It was a very important match for me," Nadal said. "Being in semi-finals is great news at the start of the hard court season.
"And winning three good matches in the first Master 1000, it's so important for me.
"He played unstoppable in the first set. I resisted, I played with the right tactic. I tried to find my solutions - but it was so difficult."
Stefanos Tsitsipas saved two match points to beat defending champion Alexander Zverev in their quarter-final contest 3-6, 7-6, 6-4.
The Greek teenager, who turns 20 on Sunday's final day, defeated his third straight top 10 opponent at the tournament after knocking out Dominic Thiem in the second round and 13-time major winner Novak Djokovic in the third.
Tsitsipas is the youngest player to post three top 10 wins at a single tournament since the 19-year-old Nadal at Monte Carlo in 2006.
Tsitsipas will next face Wimbledon runner-up Kevin Anderson, who beat Grigor Dimitrov 6-2, 6-2.
Rogers Cup, women's tour:
"I'm confused now, is this real?" 27th-ranked Tsitsipas said after completing his prestige hat-trick of upsets.
Nadal got caught on the back foot in the first set against Cilic, who took the opener on his fourth chance.
Nadal struck back in the second with a concluding break to square the match before taking victory with a break in the final game on his third match point after more than two hours.
Tsitsipas rallied from a set and 5-2 down to turn the tables on Zverev, who had been bidding for a fourth Masters 1000 title.
Tsitsipas broke in the ninth game of the second on the way into a tiebreaker, where he calmly converted on his fifth set point after saving two match points for the second-seeded Zverev.
Tsitsipas then salvaged four break points for 2-1 in the third, he traded breaks with the German and saved another trio of break points for a 5-4 lead.
He completed the victory after nearly two and a half hours on Zverev's sixth double-fault.
"This shows that with dedication and work, dreams do come true," Tsitsipas said. "I can see that it's real - it's happening.
"I don't know what happened [in the second set], I just broke him [for 4-5]. All along I could feel the crowd support, I knew I was still in the match."
Rematch in Canada
Anderson's sweep past reigning ATP World Tour Finals champion Dimitrov was a rematch of their 2014 quarter-final duel in Canada when Dimitrov claimed one of his six wins against the South African.
"It definitely was a great match today. I felt I played really well right from the beginning," Anderson said.
"Right from the first point till the last, I felt I was in a really good frame of mind, playing the kind of tennis that I knew I wanted to be playing and needed to be playing."
"Getting off the court pretty comfortably definitely is a really good feeling."
The big South African rolled into the semis in just 66 minutes, breaking four times while managing only a modest 11 aces.