Nadal, who captured his first Barcelona title as an 18-year-old at the 2005 tournament, will face Pablo Carreno Busta in Sunday's (AEST) semi-finals.
No.1 seed Nadal broke world No.58 Norrie twice in both sets for his second win of the year over the Briton, having also defeated him in straight sets in the third round of the Australian Open.
Nadal was beaten by Andrey Rublev in the Monte Carlo quarter-finals last week and had dropped a set to both Belarusian qualifier Ilya Ivashka and Kei Nishikori in his first two matches here.
"I played well at the beginning then I stopped a little bit in the second," Nadal said.
"I need to hold the level of intensity for the whole match when it comes to the semi-final."
The Spaniard has now won his last 18 matches against left-handed players since losing to Denis Shapovalov in Montreal four years ago.
He also became the first player in the Open era to win 450 matches on two different surfaces.
Carreno Busta recovered from a 5-2 deficit in the final set against Diego Schwartzman to dump out the Argentine 6-4 3-6 7-5 in the day's last quarter-final.
Monte Carlo champion Stefanos Tsitsipas swept aside Felix Auger-Aliassime, the Canadian who recently teamed up with Toni Nadal, the uncle and former coach of 20-time Major winner Rafa.
No.2 seed Tsitsipas, from Greece, fresh off his first Masters 1000 crown, extended his winning run to eight matches with a 6-3, 6-3 victory.
"It feels good to be able to play the way I am. I really hope the winning streak continues," he said.
Italian 19-year-old Jannik Sinner became the event's youngest semi-finalist since Nadal in 2005 after overcoming Monte Carlo runner-up Rublev 6-2 7-6 (8-6).
"I am trying to get better every week," Sinner, ranked No.19 in the world, said.
"He (Rublev) has played many, many matches already this year and I tried to play my tennis."
"It was difficult to finish it off. I had three break points at 5-5 (in the second set), which I could not convert, but I'm pleased to win in the end," he added.