Roger Federer edged closer to his first title of the season when he came from a set down to beat defending champion Tommy Haas 3-6, 6-3, 6-4 and book a place in Sunday's Halle Open final against Mikhail Youzhny.
After a patchy start on Saturday the Swiss looked sharp on the grass as he prepares for his title defence at Wimbledon later this month.
Federer, five-times champion at Halle, will take on Russian Youzhny, who outclassed former Wimbledon semi-finalist Richard Gasquet of France 6-3, 6-2.
"I felt good out there, and as I had predicted it was a tough match," Federer, the world number three, said in a courtside interview.
"I have not won a title this year, twice I have lost here in the final in the past years. It will not be easy but I am really looking forward to it."
Federer's unusually erratic forehand earned 35-year-old Haas his first break points at 3-2, and another long crosscourt forehand by the Swiss gave the world number 11 a two-game cushion.
Haas, whose 2012 Halle final win over Federer was his first in 10 years against him, saved two break points at 5-2 to serve out the set when Federer pushed another forehand long.
The tables were turned in the second set, with Federer racing to a 3-0 lead after breaking Haas, whose injury-free season has seen him win in Munich and reach the French Open last eight.
After drawing level, Federer went 3-1 up in the decider when Haas double-faulted twice in a row, and the 31-year-old clinched victory on his second match point.
Youzhny, who has lost all 14 past encounters against Federer, enjoyed a more comfortable afternoon, breaking Gasquet early on to race to a 4-1 lead in the first set.
Two quick breaks in the second took him away from the Frenchman, and the World No 29 wrapped it up in just under an hour for his first final appearance of the year.