Rafael Nadal beat fellow Spaniard Pablo Carreno Busta 6-3 6-2 to reach his 12th Barcelona Open final.
Victory sets up a re-match with Greece's world number five Stefanos Tsitsipas, who came back from two sets down to stun Nadal in February's Australian Open quarter-finals.
World number three Nadal, 34, has won all 11 previous finals and has only ever lost four matches in Barcelona.
Tsitsipas, 22, beat Italian Jannik Sinner, 19, 6-3 6-3 to reach the final.
Nadal beat Tsitsipas in the 2018 final, losing just three games, although the Greek did beat him on clay in the semi-finals in Madrid in 2019.
"I will try to redeem myself from last time," said Tsitsipas, who won his first Masters 1,000 event in Monte Carlo last week.
It took Nadal only 90 minutes to defeat his 29-year-old Davis Cup team-mate Carreno Busta.
"Tomorrow will be a very tough one. Stefanos is playing probably better than ever," said Nadal.
"Not one set lost in Monte Carlo and here, so it will be the toughest opponent possible."