Roger Federer came from behind to defeat Nick Kyrgios and reclaim his place at the top of the world rankings, along with a spot in the Stuttgart Open final.
Swiss great Federer skipped the clay-court season as Rafael Nadal consolidated his French Open dominance, but he will now knock the Spaniard off his perch when the updated rankings are released on Monday.
Kyrgios was also returning to action on the grass in Germany, following an elbow injury, yet he could not capitalise on winning the first set, going down 6-7 (2-7) 6-2 7-6 (7-5) in Saturday's tense semi-final.
The first set remained on serve, but, in the tiebreak, once Kyrgios won a mini-break to move 3-1 in front after a lengthy rally, he took control in sublime fashion and claimed the set with his first opportunity.
Similarly, however, when Kyrgios lost his serve in game three of the second set, Federer pressed on and struck to break the Australian again, levelling the match comfortably to set up a decider.
Kyrgios recovered his composure to push Federer again in the third and reach another tiebreak, where he took the first mini-break with a mad dash across court to send a forehand shot dipping over the net.
But Federer came roaring back and that set the tone for a back-and-forth finish, before the 20-time grand slam champion seized the initiative from 5-5 to win two straight points and the match.
He will face Milos Raonic in the final after the Canadian defeated defending champion Lucas Pouille 6-4 7-6 (7-3) in the last four.
Raonic rescued a break point to serve out the first set after edging in front early on, before winning a tie-break with ease in the second.
"It's a really positive step forward for me. I've played good tennis this week," Raonic said. "I'm very happy with myself and I hope I can continue to improve my level [in the final]."