Nadal had only lost one set in 11 previous finals in Catalonia and had never lost a clay-court final having held a match point.
He had two in the second set but a combination of some uncharacteristic misses from the Spaniard and brilliant play from his opponent helped Tsitsipas turn the match around.
The Greek had his own chance to clinch back-to-back titles having won his maiden Masters crown in Monte-Carlo last week when he held match point at 5-4 in the decider.
But Nadal dug deep, broke the Tsitsipas serve in the next game and battled his way to a 6-4 6-7 (6) 7-5 victory in three hours and 38 minutes.
Tsitsipas, who recovered from two sets down to beat the Spaniard at the Australian Open, made a brilliant start to the match, striking winners apparently at will, breaking Nadal’s serve and pushing for a second break.
But the Spaniard, as he has done so many times before, weathered the storm, began sewing doubt into his opponent’s mind by relentlessly targeting his backhand and swung the momentum in his favour.
He won four games in a row from 2-4 to take the opening set, and then again came from a break down in the second set after Tsitsipas had regrouped well.
That took him to the brink of victory on the court named after him but Tsitsipas showed his own mettle to stay in the contest, recovering from 15-40 at 4-5 with two fine points, including a lovely touch volley winner on the second.
A topsy-turvy tie-break saw Nadal lead 4-2 then save two set points from 4-6 only to serve a double fault at 6-6 that helped Tsitsipas clinch it.
The third was serve dominated until 4-5, when Nadal wobbled on his own delivery, but ultimately it was the Spaniard who proved just the tougher.
It was the longest three-set final on the ATP Tour since records began, and Nadal said: “It’s important for me of course, it’s important for my confidence. I think I have been able to play better and better during the whole week.
“I have room to keep improving, it was not perfect. I really hope that the victory of today is going to help me to raise a little bit the level that I need to fight for the next couple of events that I’m going to play.”
Tsitsipas was left to rue his fortune on the match point, where Nadal’s shot clipped the tape but went over.
The 22-year-old said: “He hates to lose more than anyone else. I was looking for a win today. I felt like I was close and I felt like there were opportunities that I had and for some reason I didn’t take.
“I felt like I could have pulled off better tennis today but I’m happy that I brought him so close. I was literally two centimetres away from winning that match.”
At the Serbia Open, second seed Matteo Berrettini capped a return to form with a 6-1 3-6 7-6 (0) victory over Novak Djokovic’s conqueror Aslan Karatsev to win his fourth title.