The Spaniard got the better of Norrie in last week's Argentina Open final in Buenos Aires, but the British No.1 hit back in style on Sunday.
The sequel was better than the original on the Brazilian clay in a match that had twists and turns throughout.
Norrie looked in trouble as he was a set and a break down but staged an impressive comeback to win 5-7 6-4 6-4.
Alacaraz, who won the 2022 title in Rio, was carrying a thigh injury but was still playing enough high quality tennis for this to be classed as a big scalp for Norrie.
It is a second title on clay for the Brit and first of 2023.
"It's so special to win this one, I have lost a couple of finals this year," he said on Prime Video.
"I had to do it the tough way, I was a set and a break down and I was looking done but I managed to flick a switch and turn it around, so it was a good day."
The Briton saved a set point at 4-5 with a searing cross-court forehand, but the Spaniard came back for more in Norrie's following service game and got the break that sealed the first set.
World No.2 Alcaraz raced into a 3-0 lead in the second but Norrie stopped the rot by winning the next four games, before taking it 6-4.
Alcaraz, who missed the Australian Open with a leg injury, mixed fearless hitting with an array of deft drop shots as his fitness decreased to fend off break points in the final part of the deciding set as Norrie searched for a decisive breakthrough.
It eventually came in the 11th game and the world No.13 served it out with an ace to claim a memorable win and impressive piece of silverware.
"I did not seize my opportunities like I did in Buenos Aires. And I couldnt't finish the match at my best physical level," Alcaraz said.
"I've played each of the latest 15 days without stop. And in tough matches like this one you can feel some pain. To avoid something worse I wrapped my leg to protect it. But when you feel an injury you had a few months before, it is complicated."
Earlier on Sunday, Hubert Hurkacz fought off Benjamin Bonzi to land Marseille Open crown.
Poland's former Wimbledon semi-finalist scored a 6-3 7-6 (7-4) win, serving 19 aces as he justified his status as the tournament's top seed.
It was a sixth win in seven ATP finals for the 26-year-old Hurkacz while Bonzi, playing his second ATP final, came up short in becoming the first French champion at this event since 2017.
"He (Bonzi) played really, really well. He deserved to win the second set. I just tried to compete as hard as I can," Hurkacz said.
"I think my game's getting better, and I'm super happy with the way I competed today. I know you guys wanted Benjamin to win."
With AP & DPA.