The 2017 US Open champion triumphed in two hours and 29 minutes over the Australian, winning 4-6 6-3 6-2 in Guadalajara.
Stephens, who will play Russian Anna Kalinskaya in the last four, had not reached a hard court semi since the 2018 WTA Finals.
But the American was forced to do it the hard way after losing the first set, saving nine of 13 break points across the match, with her ability to win second serve points proving key.
Colombian fourth seed Camila Osorio was bundled out in 80 minutes by Kalinskaya 6-4 6-1.
There was also a straight-sets win for Marie Bouzkova after she defeated third seed Sara Sorribes Tormo 6-4 6-1.
She will face Wang Qiang in the last eight, who proved too good for Slovakian Anna Karolina Schmiedlova 6-2 6-3.
The 2017 US Open champion qualified for her first final since 2018, winning 3-6 7-5 (ret) with Russian opponent Anna Kalinskaya succumbing to injury late in the second set.
Kalinskaya retired shortly after Stephens claimed the second set having battled through back pain for several games, with the match moving close to two hours.
The Russian had shown signs of injury during Friday's quarter-final win over Camila Osorio which she won in straight sets, yet Kalinskaya raced into the lead in the first set against Stephens.
Bouzkova, who knocked out reigning champion Sara Sorribes Tormo in Friday's quarter-finals, triumphed 6-3 6-3 oover Qiang Wang in one hour and 31 minutes.
The 23-year-old Czech is ranked 96th in the world and has never won a WTA Tour singles title.
Stephens won in straight sets but it took almost two hours, triumphing 7-5 6-4 over the Frenchwoman ranked just outside the top 100.
The 28-year-old American was dominant on her first serve, while she broke her opponent five times throughout the match.
Stephens, who is the sixth seed, will play Daria Saville in the last eight after the Australian eased past qualifier Caroline Dolehide 6-1 6-3 in one hour and seven minutes.
Third seed and defending champion Sara Sorribes Tormo made light work of Poland's Magdalena Frech 6-0 6-2 to set up a quarter-final meeting with Marie Bouzkova.
Colombian fourth seed Camila Osorio needed just over two hours to get past Hailey Baptiste 1-6 6-3 6-3, fighting back after a lopsided first set.
American sixth seed Stephens triumphed 7-5 1-6 6-2 in an epic final which lasted two hours and 28 minutes against 96th-ranked Bouzkova.
Stephens, who won the 2017 US Open, has struggled to re-discover her previous levels of success in recent years, having gone undefeated in the first six WTA singles finals of her career and reaching the world number three ranking.
But Sunday's triumph – Stephens' seventh career WTA title - marks a major return to form for the 28-year-old who lost in the first round of last month's Australian Open to Emma Raducanu.
Stephens had trailed 4-1 in the first set but hit back before Bouzkova double faulted on break point at 5-5.
However, the Czech responded in a one-sided second set, breaking Stephens early and never looking back.
The American claimed the first break of the deciding set at 3-2, with Bouzkova letting slip a 40-0 lead, with Stephens' forehand leading her to victory.
Tsitsipas was too good for big-serving American John Isner in a 6-3 6-2 victory in Acapulco midweek.
A two-time Australian Open finalist, having also reached the French Open final four last year, Tsitsipas excelled on serve against Isner.
Greek star Tsitsipas only dropped one point on his first serve – not facing a break point throughout the last-16 contest – while firing down eight aces.
Standing in the way of Tsitsipas and a semi-final spot at the ATP 500 tournament is Canadian sensation Felix Auger-Aliassime.
In a battle of the NextGen, seventh seed Auger-Aliassime saved four of five break points in a 6-3 6-4 win over wild card Sebastian Korda.
Zverev will feature in his third Mexican Open quarter-final in four years after the second seed took down Laslo Djere 6-4 6-3.
Runner-up in 2019, Zverev will next face eighth seed Casper Ruud – who topped Tallon Griekspoor 4-6 6-3 7-6 (7-3) in the quarters.
"I think today what showed the most is that I got better with the match," Zverev said. "I started off extremely sloppy, started off with a lot of unforced errors.
"The longer the match went on the better I started playing and this is something that is very important for me. When I get into a rhythm I feel very comfortable on court and that's how I felt today."
Elsewhere, Lorenzo Musetti's giant-slaying run continued following a 2-6 6-3 7-6 (7-1) victory against Frances Tiafoe.
Musetti earned his first ATP 500 quarter-final as the Italian prepares to meet fifth seed Grigor Dimitrov, who eased past Miomir Kecmanovic 6-4 6-2.
There was an upset after fourth seed Raonic crashed out 6-4 6-2 at the hands of Dominik Koepfer, while sixth seed Fabio Fognini lost 6-4 6-3 against Cameron Norrie.
World number five Tsitsipas, who was a semi-finalist at last month's Australian Open, defeated seventh seed Auger-Aliassime 7-5 4-6 6-3 in Acapulco.
In a tight contest, back-to-back double faults from Canadian sensation Auger-Aliassime in the eighth game of the third set proved costly as Tsitsipas broke after the pair had held serve throughout the last.
"It got really tight," Tsitsipas said in his post-game interview. "I got a bit lucky with the double faults towards the end of the match.
"I was just persistent. Towards the end I had zoned in 100 per cent. Both of us brought an amazing energy out on the court. Felix is someone I've played a lot and I have huge respect for him."
Greek star Tsitsipas will next play emerging Italian teenager Lorenzo Musetti for a spot in the ATP 500 tournament decider.
Qualifier Musetti, who upstaged third seed Diego Schwartzman in the first round, stunned fifth seed Grigor Dimitrov 6-4 7-6 (7-3) in the final match of the day.
The 19-year-old Musetti will now contest his maiden ATP 500-level semi-final as he prepares to enter the top 100 on the men's tour after just his fourth main-draw appearance.
Alexander Zverev – the German second seed – progressed to the semi-finals with a walkover after eighth seed Casper Ruud withdrew due to a wrist injury sustained in practice.
Zverev will play countryman Dominik Koepfer in the final four after he defeated Cameron Norrie 7-5 6-4, maintaining his run of not dropping a set all tournament.
Tsitsipas triumphed 6-1 6-3 in 79 minutes to get past 19-year-old Musetti, who had beaten third seed Diego Schwartzman and former world number three Grigor Dimitrov on his run to the semis.
The Greek top seed will play second seed Alexander Zverev in Saturday's final after the German got past countryman Dominik Koepfer 6-4 7-6 (7-5) in their semi-final, which was literally rocked by an earthquake.
The broadcast cameras shook mid-point but play continued as a 5.7 magnitude earthquake was registered to the north of Marquelia, which is to the east of Acapulco.
Tsitsipas holds a 5-1 record against Zverev, who is ranked seventh in the world and made last year's US Open final.
"Sascha is someone I've played against in the past and it's never easy. We're both really hungry and we're both very competitive," Tsitsipas said.
The Greek made light work of Musetti, winning five straight games in the opening set after starting at 1-1.
Unforced errors cost Musetti, who had his moments, but Tsitsipas was on song with 17 of 23 winners off his forehand.
Musetti will move into the top 100 of the rankings for the first time on Monday after his breakthrough week.
"We'll definitely see a lot from Lorenzo in the future, he has a wonderful one-handed backhand and creates lots of opportunities. He showed his level this week," Tsitsipas said.
Williams made an early exit at the Australian Open and the American veteran went down to Slovenian qualifier Kaja Juvan 4-6 7-6 (7-4) 6-2 in Acapulco on Tuesday.
The 39-year-old wasted seven match points during the second set before bowing out after two hours, 38 minutes.
Williams, a two-time champion of the event, also served 13 double faults as she lost a fourth straight match – a run dating back to last year.
It was a tough day for the seeds at the WTA International event, where Williams was joined by Stephens and Lauren Davis in losing.
Stephens, the top seed and 2016 champion, suffered her fourth straight loss to begin 2020, going down to Mexican wildcard Renata Zarazua 6-4 6-2.
The fourth seed, Davis was edged by fellow American Christina McHale 6-2 1-6 6-4.
The only seed to advance was Zhu Lin, while there were also wins for Sara Errani, Katie Boulter, Katie Volynets, Leylah Fernandez and Caroline Dolehide.
Last year's champion, second seed Wang Yafan fell to Wang Xiyu 6-4 7-6 (10-8) in her opener in Acapulco.
Wang Yafan could convert just four of 12 break points, while Wang Xiyu capitalised on five of her eight.
A two-time grand slam semi-finalist, Vandeweghe suffered her fifth defeat in nine matches in 2020 with a 4-6 6-4 6-4 loss to seventh seed Heather Watson at the WTA International event.
Of the four seeds in action, Nao Hibino joined Watson in advancing, while Marie Bouzkova went down to Tatjana Maria to be one of two casualties alongside Wang Yafan.
Tamara Zidansek, Anastasia Potapova and Kateryna Bondarenko also progressed on Monday.
Watson, the British seventh seed at the WTA International event, was too good for Kateryna Bondarenko 7-6 (7-2) 6-2.
Zhu Lin was the other seed to advance, getting past Katie Boulter 7-6 (7-2) 7-5 in one hour, 48 minutes.
Another seed fell in Nao Hibino, who was crushed by Canadian 17-year-old Fernandez 6-3 6-0 in just over an hour.
Renata Zarazua, Tamara Zidansek, Anastasia Potapova, Christina McHale and Wang Xiyu also moved into the last eight.
Watson – the British seventh seed – overcame Wang Xiyu 6-4 7-6 (8-6) at the WTA International tournament in Acapulco on Friday.
Not since the 2016 Monterrey Open has Watson claimed a WTA trophy but the British number two moved a step closer to ending that drought.
Watson, who lost the Tianjin Open decider in October, will meet Canadian teenager Leylah Fernandez in the final.
Fernandez – contesting her maiden WTA semi-final – was too good for local wildcard Renata Zarazua 6-3 6-3.
Zarazua became the first Mexican woman to reach a WTA Tour semi-final since 1993 after triumphing in the quarter-finals, but she was no match for the 17-year-old.
The Brit overcame Canadian teenager Fernandez 6-4 6-7 (8-10) 6-1 in the decider of the WTA International event in Acapulco.
Watson's title was the fourth of her WTA career but first since winning the Monterrey Open in March 2016.
For Fernandez, 17, it ended a memorable run to her first WTA final, and it proved quite the battle against Watson.
Watson won the first four games before a tough second set during which both players had their chances.
After Watson saved four set points to deny Fernandez, the teenager incredibly saved five match points to force a decider.
Watson recovered from that disappointment by rolling out to a 3-0 lead in the third set, although she needed another five match points to seal her victory.
Wawrinka, the third seed at the ATP 500 event in Acapulco, needed two hours, 45 minutes to edge Frances Tiafoe 6-3 6-7 (4-7) 7-6 (7-1).
The Swiss three-time grand slam champion squandered four match points before battling through.
Wawrinka was the only seed in action on Monday, as two American qualifiers – Tommy Paul and Marcos Giron – progressed.
Adrian Mannarino overcame wildcard Cameron Norrie 2-6 6-3 6-3, Miomir Kecmanovic edged past Alex de Minaur 3-6 6-4 6-3 and Kyle Edmund hammered Feliciano Lopez 6-4 6-1.
At the Chile Open, sixth seed Hugo Dellien got through the first round, while Roberto Carballes Baena and wildcards Thiago Seyboth Wild and Marcelo Tomas Barrios Vera also won.
Local wildcard Zarazua upstaged Tamara Zidansek 6-2 3-6 6-2 en route to the final four of the WTA International tournament in Acapulco on Thursday.
World number 270 Zarazua, 22, will face teenage qualifier Leylah Fernandez for a spot in the final.
Canadian 17-year-old Fernandez moved through to her maiden WTA semi-final after ousting fellow teen Anastasia Potapova 6-3 7-5.
Elsewhere, seventh seed Heather Watson prevailed 6-3 1-6 6-1 against American Christina McHale.
Next up for Watson is Wang Xiyu, who eased past sixth seed Zhu Lin 6-2 6-2.
Zverev and Brazil's Marcelo Melo were in a super tie-break against Lloyd Glasspool and Harri Heliovaara when they were angered by a call made by the umpire, who overruled a decision from the line judge.
Glasspool and Heliovaara subsequently profited by delivering an ace on match point, which was followed by Zverev quickly walking off and smashing his racquet against the umpire's chair three times.
The world number three then shouted at the umpire that he had "destroyed the whole f****** match" before striking the chair again.
Zverev was due to be in second-round singles action against Peter Gojowczyk, but the ATP Tour confirmed the Olympic champion had been removed from the draw due to "unsportsmanlike conduct".
Former world number one Andy Murray condemned the 24-year-old's "reckless" outburst after his loss to Jannik Sinner, and Zverev has now apologised unreservedly for his raging response.
"It is difficult to put into words how much I regret my behaviour during and after the doubles match yesterday," Zverev wrote on Instagram on Wednesday.
"I have privately apologised to the chair umpire because my outburst towards him was wrong and unacceptable, and I am only disappointed in myself.
"It just should not have happened and there is no excuse. I would also like to apologise to my fans, the tournament, and the sport that I love.
"As you know, I leave everything on the court. Yesterday, I left too much. I am going to take the coming days to reflect – on my actions and how I can ensure that it will not happen again. I am sorry for letting you down."
Zverev was withdrawn from the Acapulco event after an extraordinary outburst during a doubles match where he became angered at a call made the umpire, who overruled a decision from the line judge.
After losing the next point, which was match point, Zverev smashed his racquet against the umpire's chair three times. Zverev then shouted at the umpire that he had "destroyed the whole f****** match" before striking the chair again.
The ATP subsequently withdrew Zverev from the singles draw of the event due to unsportsmanlike conduct at the time and issued a statement on Monday after a review detailing the sanctions, including a suspended eight-week ban for aggravated behaviour.
"The review determined that Zverev committed Aggravated Behaviour under the Player Major Offense section of ATP Rules," the ATP statement said.
"As a result, Zverev has been issued an additional fine of US$25,000 and a suspension for a period of eight weeks from any ATP-sanctioned event.
"However, the fine and suspension are withheld on the condition that, over a probation period ending 22 February 2023 (one year from the incident), the player does not incur a further Code Violation that results in a fine for unsportsmanlike conduct… and verbal or physical abuse."
The German had been fined $40,000 at the time as well as forfeiting full event prize money of $31,570 and all ATP rankings points from the Mexico Open. He has since apologised for his actions.
In a battle of the top two seeds, Zverev reigned supreme 6-4 7-6 (7-3) for his 14th ATP crown in Saturday's Acapulco decider.
Last year's US Open finalist Zverev was runner-up at the ATP 500 tournament in 2019, beaten by Australian Nick Kyrgios in straight sets.
But Zverev went one step further this year, taking down two-time Australian Open semi-finalist Tsitsipas after two hours, 17 minutes.
Zverev, who was rocked during his semi-final win over countryman Dominik Koepfer on Friday – a 5.7 magnitude earthquake registered as broadcast cameras shook, did not drop a set throughout his title-winning run.
Greek star Tsitsipas made an impressive start, racing out to a 3-0 lead after breaking Zverev in the second game.
Zverev, though, hit back as he put the set back on serve in the seventh game before consolidating.
Another break saw Tsitsipas come unstuck – Zverev reeling off six consecutive games to claim the opening set in red-hot fashion.
Zverev and Tsitsipas went toe-to-toe in the second set, the pair exchanging breaks late as a tie-break eventually saw the former complete a dominant display.
German star and second seed Zverev accounted for teenager Carlos Alcaraz, the 2019 runner-up winning the opening-round clash 6-3 6-1 on Monday.
Alcaraz – in his first showdown against a top-10 player – broke for a 2-0 lead and while he continued to go toe-to-toe with Zverev through six games, the 17-year-old was unable to maintain his charge.
Zverev broke for a 4-3 lead and the 2020 US Open finalist did not look back, winning nine of the last 10 games to advance in 84 minutes.
"He started off playing extremely well, he didn't miss a lot of balls. Then I felt more comfortable on court, this is the first round," Zverev said.
"It's not always easy to play a first round, especially against a player like this, who is very young, who is very motivated and who wants to compete. I'm actually quite happy with how the match went."
Next up for Zverev – who reached the Australian Open quarter-finals in February – is Serbia's Laslo Djere.
Djere took down Steve Johnson 6-2 6-3 for a spot in the last 16.
Meanwhile, Korda capped his Acapulco bow with a shock 7-5 6-2 win against former world number three Marin Cilic.
Korda claimed his first ATP 500-level victory having saved 10 of the 11 break points he faced in the opening set against the 2014 US Open champion.
Canadian sensation and seventh seed Felix Auger-Aliassime awaits after the 20-year-old converted his sixth match point to see off Tennys Sandgren 6-3 7-6 (10-8).
Elsewhere, John Isner and Dominik Koepfer also advanced.