It was Goffin who took a 2-0 lead in the first set after breaking Nadal’s serve. However, the 31-year-old Spaniard lost just two more games in the remainder of the match to book his place in the final where he will face teenager Stefano Tsitsipas.
“I played I think my best match of the tournament so far, no doubt about that. It was a great first set in my opinion. Both of us played at a very high level,” Nadal said.
The 19-year-old Tsitsipas reached his first ATP final after beating fifth-seed Pablo Carreno Busta 7-5, 6-3.
Tsitsipas is the youngest Barcelona finalist since Nadal in 2005.
“I couldn't have enjoyed it more, I went onto the court and enjoyed every single moment.
Tsitsipas, who beat third-seeded Austrian Dominic Thiem in the quarters, hasn’t lost a set in the tournament.