American Sloane Stephens recorded her fourth successive win over former world number one Victoria Azarenka to advance to the round of 16 at the Madrid Open.
The 26-year-old world number eight was broken twice as Azarenka, now ranked 52, took the match to a deciding set.
Belarusian Azarenka, 29, spurned two break points at 1-1 and Stephens won 6-4 2-6 6-2 in two hours, six minutes.
Stephens will face the winner of Tuesday's match between China's Zheng Saisai and Alize Cornet of France.
Defending champion Petra Kvitova thwarted a fightback from world number 63 Kristina Mladenovic to go through 6-3 7-6 (7-5) in an hour and 55 minutes.
The Czech second seed, chasing a fourth title on the Caja Magica clay, will face wild card Sorana Cirstea or Caroline Garcia in the last 16.
Seventh seed Kiki Bertens and 12th-ranked Anastasija Sevastova recorded straight-set victories over Jelena Ostapenko and Mihaela Buzarnescu respectively.
In the men's doubles, Britain's Kyle Edmund, who plays 10th seed Fabio Fognini in the singles on Tuesday, teamed up with Liverpudlian Neal Skupski to beat French pair Jeremy Chardy and Gilles Simon 6-2 6-3.
Britain's Dom Inglot, partnering India's Rohan Bopanna, lost in straight sets, while Joe Salisbury, in partnership with American Rajeev Ram, also went out, losing the deciding set 11-9 against Argentine duo Maximo Gonzalez and Horacio Zeballos.
Meanwhile second seed Rafael Nadal, who faces highly-rated teenager Felix Auger-Aliassime on Wednesday, pulled out of his media conference with a stomach bug.