World number four Novak Djokovic eased past Austrian Juergen Melzer 6-1, 6-4 at the Halle tournamenton Friday to set up a semi-final clash with Belgian qualifier Olivier Rochus.
Rochus edged Benjamin Becker 6-7, 6-3, 6-3 to reach the last four, while Tommy Haas also progressed to set up an all-German clash with Philipp Kohlschreiber in Saturday's other semi.
The 22-year-old Djokovic, looking more at ease on grass than in the previous round when he saved five match points against Frenchman Florent Serra, grabbed an early break to go 4-1 up.
Deploying all the shots in the book, the Serb broke again when Melzer, ranked 24 places below him, double-faulted on break point allowing Djokovic to serve out the first set.
Melzer briefly went 4-3 up in the second but Djokovic won the next three games to clinch victory when the erratic left-hander fired a backhand into the net.
"It was quite a relief after two not too convincing performances," Djokovic told reporters. "It was a controlled match and overall I was moving much better today."
However, the number two seed warned that Rochus, who surprisingly leads 2-0 in the head-to-head tally, could prove a tricky opponent.
"He has a great game for grass courts. A low balance and great touch," Djokovic said.
Haas, who missed much of last year due to a shoulder injury, continued his winning run by sweeping past fellow German Misha Zverev 7-6, 6-2. The former world number two traded breaks with the 21-year-old before coming out on top in the tiebreak.
Haas, 31, kept up the pressure with punishing cross-court winners, sealing his win with two consecutive aces.
In the battle of the underdogs, Rochus denied the host country another semi-finalist when he got past wild card Becker.
Rochus, who has slipped to 136 in the world after shoulder surgery last year, needed just one break in each of the last two sets to win. Ranked as high as number 24 in 2005, Rochus was delighted to be back on the big stage.
"After two years with shoulder problems to be in an ATP semi-final is great," he said. "I came here a week ago to play qualifiers and a week later I am still here."
Earlier on Friday, Kohlschreiber beat Andreas Beck 3-6, 6-3, 6-3 to book his place in the last four.