Serena Williams will play world number one Victoria Azarenka in Sunday's final of the Madrid Open after they both enjoyed straightforward last-four wins.
American Williams, 30, was taken to a tie-break in the first set of her game against Czech qualifier Lucie Hradecka.
But she breezed through the second set, breaking Hradecka three times to wrap up a 7-6 (7-5) 6-0 victory.
Azarenka, who is chasing a fifth title in 2012, hit 29 winners in her 6-2 6-4 thrashing of Agnieszka Radwanska.
The 22-year-old Belarussian, who was beaten in last year's final by Petra Kvitova, has now defeated Polish player Radwanska in all six of their meetings this year.
She broke her opponent's serve six times and clinched the win with a drop shot on her second match point after just 79 minutes of playing.
Azarenka has only beaten Williams once in seven meetings but the Australian Open champion said: "I was much younger and just coming on the tour [for many of our matches) but I have always been competitive against her.
"It's going to be a different story this time."
Williams is in fine form though, having beaten Maria Sharapova in the last eight and easily overcoming Hradecka who is ranked 105 in the world.
The first set went with serve but Williams edged the tie-break and then immediately broke in the opening game of the second set to take the initiative, while Hradecka, who made 22 unforced errors in the game, faded.