The British No1, ranked 12th in the world, battled through to defeat world No103 Daniel 6-7 (5) 7-5 6-2 in a contest lasting just over two hours and 40 minutes.
Norrie appeared destined for defeat after losing the opening set via a tiebreaker and going 4-1 down in the second.
But the 2021 Indian Wells champion rallied, taking the next four games in a row en route to claiming the set, and then broke Daniel twice early in the third as he completed the turnaround.
It is a 20th victory of the season for Norrie, who won the Rio Open last month, beating world No2 Carlos Alcaraz in the final.
The 27-year-old said in an on-court interview broadcast by Amazon Prime Video: “I was not really happy with myself, I should have won that first set, lots of chances, and I think it carried over a little bit into the start of the second set.
“But I was able to really play point for point and then really come back and play some of my best tennis. I played a solid third set and I think it could have been a lot more comfortable but he fought hard.
“I’m happy to be riding the wave right now, but I still have a lot of things to work on. It was not the prettiest of matches today, but I’ll take it.”
Norrie will face Andrey Rublev in the fourth round, after the world No7 claimed a straight-sets win over Ugo Humbert. The Russian was pushed in the first set but cruised home in the second, eclipsing the Frenchman 7-5 6-3.
Elsewhere, world No6 Daniil Medvedev eked out a 6-2 3-6 6-1 win against Ilya Ivashka. The result sets the Russian up for a fourth-round clash with Alexander Zverev, after the seventh seed overcame Emil Ruusuvuori 7-5 1-6 7-5.
In the women’s tournament, Australian Open champion Aryna Sabalenka progressed past Lesia Tsurenko, while American Coco Gauff beat Linda Noskova in straight sets.
Third seed Jessica Pegula survived an early scare to outlast Anastasia Potapova 3-6 6-4 7-5.