World number 26 Norrie will replace Dan Evans as British number one after his 6-0, 6-2 win in California.
The 26-year-old left-hander had never previously reached the last eight of a Masters 1,000 tournament. Norrie will face Bulgarian Grigor Dimitrov in the last four.
The world number 28 beat Poland’s Hubert Hurkacz 3-6, 6-4, 7-6 (6-2) to reach his first Masters 1,000 semi-final in two years.
Norrie dismantled the world number 15 in 73 minutes for his 45th win on the ATP Tour this season.