The Bulgarian third seed had beaten Harrison in last year's US Open but the American had his revenge in Mexico, claiming his first-ever win over a top-10 ranked opponent.
The pair traded sets but Harrison flourished in the decider to come through 7-5 4-6 6-0.
Top-seeded Maria Sharapova of Russia beat Magdalena Rybarikova of Slovakia 6-1, 4-6, 6-2 on Thursday night to reach the Mexico Open semifinals.
Sharapova will face third-seeded Caroline Garcia of France in the hard-court event at The Fairmont Acapulco Princess. Garcia led Mirjana Lucic-Baroni 6-2, 2-1 when the Croatian player retired.
Fifth-seeded Timea Bacsinszky of Switzerland won the Mexico Open on Saturday night for her second WTA Tour title, beating third-seeded Caroline Garcia of France 6-3, 6-0.
The 25-year-old Bacsinszky also won the 2009 Luxembourg Open.