Norrie was runner-up at the San Diego Open earlier this month and reached the last eight of a Masters 1000 event for the first time by battling past Tommy Paul in three sets.
The 26-year-old, though, wasted little time in taking the early initiative against 11th seed Schwartzman on Thursday.
Norrie raced into a 4-0 lead against the world number 15 before another break and hold saw him take the opening set to love in just 31 minutes.
Schwartzman eventually got on the board in the opening game of the second set.
Norrie, though, gained an early break when Schwartzman sent a return long only to then fail to hold himself at 2-2.
Schwartzman was then broken again in the fifth and seventh games, swinging the momentum back towards his British rival, who closed in on victory.
Norrie served out his first match point to love when another Schwartzman return went long, completing a comprehensive 6-0 6-2 victory in one hour and 13 minutes.
As a result of his run to the semi-finals, Norrie is set to break into the world’s top 20 – and so replace Dan Evans as the British number one.