Venus Williams beat third-seed Dinara Safina 6-4 6-2 to reach the semi-finals of the Porsche Grand Prix in Stuttgart.
Williams broke for a 5-4 lead before serving out the first set.
The fifth seed never looked back after going 4-0 up in the second and now plays Jelena Jankovic who beat Vera Zvonareva 7-6 (10-8) 7-6 (7-5).
Earlier 19-year-old Belarusian Victoria Azarenka beat Olympic champion Elena Dementieva 7-6 (7-6) 3-6 6-1 to set up a semi-final with Nadia Petrova.
She sealed her semi-final spot with a 6-2 6-3 win over Li Na.
Williams and Safina were playing each other for the first time and the American was delighted to have beaten a player who has won four titles this year and risen to a career-high ranking of world number three.
"I had to work very hard because she played at 200%," she said. "It's very exciting to win against a player who has had such a great year."
606: DEBATE
"I feel more comfortable at the net now, I have a volley," she said.
Azarenka produced a composed display against Dementieva, saving set point before closing out the first set on a tie-break.
Dementieva responded positively in the second but them made a catalogue on unforced errors in the third, which allowed her opponent to take a 5-0 lead.
The Russian world number four saved three match points to bring it back to 5-1 but made two successive errors and then put a backhand into the net to confirm her fate.
"I just kept on fighting," said Azarenka, who is bidding for her first tour title. "We had many long rallies. I tried to fight for every ball. I played very well."