The Argentine had lost seven straight games giving up both the first set and a break in the second, but fought back to tie the game in California.
By winning that second set and winning the third without a hitch, Schwartzman won ten games on the spin to win the game 5-7, 6-4, 6-0.
The maneuverable 11th seed had started well in the morning session at the BNP Paribas Open, quickly settling into his game to take what appeared to be a 5-2 lead.
Still, Evans roared back, first taking the five games needed to fight from behind and win the first set, then adding both a break and a serve game in the second, with Schwartzman suddenly appearing in real conflict.
However, he quickly got back into a groove and was able to stop the momentum, even shooting with Evans with four games in a row.
And as the Briton started to lose momentum, the quick Schwartzman asserted himself, decisively taking the third set without concessions as a frustrated Evans exited in the third round.
Schwartzman will then face Casper Ruud (Norway) or Lloyd Harris of South Africa in the round of 16.
.
Sports standard