Swiatek got the early break in the first set to take a 5-3 lead but Kerber, a three-time Grand Slam winner, saved five set points to level the set 5-5. The Pole then broke Kerber’s serve in the 12th game on her eighth set point to claim the first set 7-5.
In the second, it was Kerber who broke early to lead 2-0 before Swiatek fought back to win six of the last seven games and complete the 7-5, 6-3 win in one hour and 39 minutes.
Swiatek, ranked No 1 and winner in Madrid last week, will face American Madison Keys, the No 18 seed, next. The Pole leads 3-1 in the head to head, 2-0 on clay which includes a straight sets win in Madrid last week.
Ahead of her win today, the 22-year-old Pole beat American qualifier Bernarda Pera (6-0, 6-2) and Kazakh Yulia Putintseva (6-3, 6-4).
Kerber, ranked No 331, won against American Lauren Davis (6-1, 6-0), Russian Veronika Kudermetova, the No 17 seed (6-3, 6-0) and Belarusian qualifier Aliaksandra Sasnovich (6-3, 7-6 (4)) in the previous rounds of the Rome tournament.
Rome WTA 1000, other round of 16 results (Foro Italico, clay, USD 5,509,771):
- Qinwen Zheng (7) beat Naomi Osaka: 6-2, 6-4
- Madison Keys beat Sorana Cirstea (28): 6-2, 6-1
- Elina Svitolina vs. Aryna Sabalenka
- Maria Sakkari vs. Victoria Azarenka
- Danielle Collins vs. Irina-Camelia Begu
- Rebecca Sramkova vs. Jelena Ostapenko
- Coco Gauff vs. Paula Badosa