World number 73 Zeballos held his nerve in the final set, breaking Nadal when he was serving to stay in the match to seal victory after almost three hours in the Pacific coast city of Vina del Mar.
"I'm shocked. I've beaten one of the best players of tennis history. It's an incredible sensation," an emotional Zeballos said.
"I still think I'm dreaming. It's an honour playing against him. I enjoyed being with him at the locker room, eating with him. He's a great guy, I would like to ask him if he's from this planet," the Argentine added with a big smile.
Nadal was playing in his first tournament since suffering a shock defeat to the unfancied Lukas Rosol at Wimbledon last June, having been sidelined by a troublesome knee injury and his comeback delayed by illness.
He will continue playing on his favourite clay surface at two other Latin American events this month.
The French Open champion heads to the Brazil Open in Sao Paulo next week and the Mexico Open in Acapulco from Feb. 25.
"Although I didn't make it (to win the tournament), for me it is a huge achievement playing all the week," Nadal said when he received his runnerup trophy.
The 27-year-old Zeballos was competitive from the outset, but failed to exploit two break-points in the first set to allow Nadal a tiebreak, which the Spaniard comfortably wrapped up 7-2.
Zeballos hit back to win the second set tiebreak 8-6 and showed great poise to level at 1-1 in the decider after being broken in the first game.
Nadal struggled with his serve and was a shadow of the fired-up, fist-pumping competitor that has clinched 11 grand slam titles as he tired late in the match and lost key points without showing much emotion.
Local fans were won over by the Spaniard, who was gracious in defeat, however, and thanked the crowd for the support.
"This is one of the best weeks of the last months. I want to thank you all," he said.
- Sports & Recreation