It was the first title of the year for the third-ranked Nadal, who has been struggling to find his best form. He secured the clay-court title by converting on his third match point.
The match lasted 3 hours, 38 minutes, making it the longest best-of-three set ATP final since stats started being tracked in 1991. It was also the longest best-of-three ATP match so far this year.
It was Nadal's seventh title in the past 10 editions of the Barcelona Open, and 12th in 16 editions. The tournament was not played last year because of the pandemic.
Nadal also needed three sets to advance in his first two matches in Barcelona. He was coming off a loss to Andrey Rublev in the quarterfinals of the Monte Carlo Masters last week, a tournament that Tsitsipas won in a final against Rublev.
Tsitsipas, who had not lost a set on his way to the final in Barcelona, had beaten Nadal in the quarterfinals of the Australian Open.
Nadal was behind from the start but won four straight games to take the first set. The top-seeded Spaniard got off to another slow start in the second set and needed another late break. He wasted two match points at 5-4, then saved three consecutive break points in the following game.
Tsitsipas converted on his third set point of the tiebreaker to force a third set. The Greek then himself squandered a match point when 5-4 ahead. Nadal survived, winning three straight games for the title.
Tsitsipas, the second-seeded player in Barcelona, was seeking his 27th win this season to surpass Rublev as the top winner on the men's circuit.
The 34-year-old Nadal has won all 12 finals he reached in Barcelona. He dominated the tournament in his home country from 2005-09, 2011-13 and 2016-18. He lost in the 2019 semifinals to eventual champion Dominic Thiem.