World number one Iga Swiatek extended her winning streak to 25 matches with a tough victory over Victoria Azarenka at the Italian Open.
Poland's Swiatek overcame a slow start to win 6-4 6-1 against the Belarusian in the second round in Rome.
A brutal first set lasted one hour 20 minutes and saw seven breaks of serve.
Swiatek lost serve again in the opening game of the second set, but fought back to take command and set up a quarter-final with Canada's Bianca Andreescu.
The 20-year-old Pole has dominated the WTA Tour in the past few months, fully grasping her chance to replace Ashleigh Barty at the top of the rankings when the 25-year-old Australian announced her shock retirement in March.
Later this month, the 2020 French Open champion will begin her bid to win the second Grand Slam title of her career when Roland Garros starts on 22 May.
Swiatek has made light work of plenty of opponents on her way to winning Doha, Indian Wells, Miami and Stuttgart titles, but needed to show resilience and patience against 16th seed Azarenka.
Defending champion Swiatek lost her first two service games to trail 3-0, but eventually started to find her rhythm to turn the deficit into a 5-3 lead.
Two-time major champion Azarenka hit a double fault to hand over the eighth game, seconds after she lambasted a spectator who disrupted play by arriving late to his seat behind the baseline where she was serving.
The first eight games took more than an hour and another lengthy game saw Azarenka save four set points before breaking back to extend the opener.
However, Swiatek took Azarenka's serve again to clinch the first set and then, after her lifting her level and committing fewer errors, raced through the second.
She next plays 2019 US Open champion Andreescu, who beat Croatia's Petra Martic 6-4 6-4 to reach the last eight.
It will be the Canadian's first quarter-final since coming back to the tour after injuries and taking a six-month break to protect her mental health.