The 22-year-old Croatian defeated the American 6-4 6-4 in one hour and 28 minutes and will next be up against Britain’s Johanna Konta.
This is the second time in 2018 that Vekic has beaten the former US Open Champion. She also got the better of the American earlier in the year at Wimbledon.
In the first set, the momentum shifted both ways at times with Stephens dropping serve early, then three games later she broke back, only to drop serve again in the ninth game, for Vekic to serve out the set 6-4.
The next set was as unpredictable as the opener, with five breaks of serve but in the end, Vekic did enough to win the set and match 6-4.
In an interview after her victory, Vekic said she had felt good on the court and had followed her game plan.
“I felt good. I beat her last time we played, so I knew my game plan and I tried to stick to it,” said Vekic. “I’m playing really well this year. I’m improving a lot.
“Even when I lose, I keep working hard and doing the right things, and I feel like it’s showing on the court.”
In other results on Tuesday, Vekic’s next opponent, Konta played well to crush qualifier Gabriela Dabrowski 6-2 6-0.
Australian seventh seed Ashleigh Barty beat America’s Coco Vandeweghe 4-6 6-3 7-5 and will face either former world number one Victoria Azarenka or Kurumi Nara of Japan in the round of 16.
American Alison Riske did enough to down Canadian Eugenie Bouchard 6-4 6-4 while Czech eighth seed Barbora Strycova saw off Zarina Diyas of Kazakhstan 6-4 6-4.