Nadal will play Dominic Thiem after he defeated Andy Murray in the first semi-final.
Nadal struck the first blow by breaking the unseeded Zeballos in the fourth game and the difference in quality between the two players soon began to show.
Zeballos earned two break points in the fourth game of the second set but 14-time grand-slam winner Nadal recovered to hold his serve and wrapped up his victory in 94 minutes, setting up a re-match with Thiem, who beat him last year on clay in the Argentina Open semi-finals.
Thiem knocked out world number one Andy Murray 6-2 3-6 6-4 for the first time in his career, becoming the first Austrian since Thomas Muster in 1996 to reach the final of the claycourt tournament.
Just as in Friday's gruelling quarter-final with Albert Ramos-Vinolas, Murray got off to a bad start. The Briton relied on his serve to recover the second set but could not sustain the level and bowed out.
Read the original article on Eurosport: Nadal defeats Zeballos to reach Barcelona final