World number three 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 at the Halle Open on Saturday to book a spot in Sunday's final.
The 31-year-old Swiss looked sharp on the grass court after an erratic start in a repeat of last year's final as he prepares for his title defence at Wimbledon this month.
Federer, five-times champion at Halle, will play either Frenchman Richard Gasquet or Russian Mikhail Youzhny who contest the other semi-final later on Saturday.
"I felt good out there and as I had predicted it was a tough match," Federer 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 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, with a much more aggressive game.
After drawing level, Federer kept up the pressure to earn yet another break when Haas double-faulted twice in a row to go 3-1 up and he clinch victory on his second match point.