Top-ranked Rafael Nadal persevered past countryman Roberto Bautista Agut for a 6-4, 6-4 win that returned him to the Madrid Open final on Saturday.
Nadal, who reached his first clay final since winning in Rio de Janeiro in February, broke Bautista Agut's opening service game and never trailed.
Earlier, Maria Sharapova held her nerve to reach her second consecutive women's final, where she will play Simona Halep of Romania.
Bautista Agut, playing in his first career Masters series semifinal, couldn't match the experience of Nadal, who continues to improve after coming to the Magic Box center having lost at consecutive clay tournaments for the first time in a decade.
"I've gotten better as the tournament has gone on and found my rhythm on clay," said three-time champion Nadal, who was bidding to be the first repeat winner from his sixth final appearance.
Nadal took advantage of Bautista Agut's timid start, although those early nerves disappeared as Bautista Agut broke Nadal to even it 3-3.
But Nadal, whose forehand was erratic a day after it guided his quarterfinal victory, responded with a backhand passing shot to break back.
Nadal eventually clinched the first set with an exquisite forehand passing shot, and scored two of his five breaks to lead 3-0 as the Manolo Santana center court silence was continuously interrupted by the chants outside of disgruntled Coca-Cola workers protesting the closure of a nearby bottling plant.
Nadal's concentration dipped as Bautista Agut clawed to within 4-3 before Nadal overcame his 21 errors by pulling away to reach his 90th career final.
Nadal faces either Japan's Kei Nishikori or fellow Spaniard David Ferrer on Sunday.
Sharapova was cruising against Agnieszka Radwanska before allowing the third-seeded Pole to break back in the second set. But the eighth-ranked Russian recovered to secure a 6-1, 6-4 win after Halep rallied in the hot conditions to dispatch 2011 champion Petra Kvitova, 6-7 (4), 6-3, 6-2.
Sharapova has lost just three times on clay since the 2011 French Open, with all of those losses coming against two-time defending champion Serena Williams. But Williams withdrew on Friday with a left thigh injury.
Kvitova looked on course for victory before unforced errors and the rising temperatures took their toll.
The Czech was 2-0 up in the second set and rolling against Halep, who was visibly frustrated after a late call went against her during the first-set tiebreaker.
But Kvitova hit 66 unforced errors and that inconsistency caught up with her as Halep recovered, with the now composed Romanian hitting 22 winners and breaking Kvitova four times over the last two sets.
"I just started to play more angles, more higher the ball, and just fighting for every point," Halep said.
Kvitova struggled in the final set, looking sapped of energy by the end of a match that lasted more than 2 1/2 hours.
"Tomorrow I expect a very tough match. Maria is a champion and she knows how to manage the finals," said the fifth-ranked Halep, who reached her first Masters series final.
Sharapova hit 28 winners to four for Radwanska, who netted a forehand on match point to be broken for a seventh time.
"She's having a great year so it's going to be an extremely difficult match," Sharapova said.