Iga Swiatek has booked her place in the Madrid Open semi-finals after battling back from a set down to defeat Beatriz Haddad Maia.

The top seed, who made it to the final last year, dropped a set for the first time in this tournament before recovering to win 4-6 6-0 6-2 in a match that lasted just short of two-and-a-half hours.

These two players met in the French Open semi-finals last year and 11th seed Haddad Maia was eyeing an upset when she fought back from 4-1 down to claim the opener.

But Swiatek dropped serve just once in the next two sets as she assumed full control and swept to victory, powered by winning eight straight games from the start of the second set.

Data Debrief: Swiatek statistics up there with the best

Up next for Swiatek will be a last-four clash against either Ons Jabeur or Madison Keys, who play later on Tuesday. That will be her 15th WTA 1000 semi-final appearance since 2020, with no other player having made it to double figures (Aryna Sabalenka and Maria Sakkari are the next best on eight each).

Beating Haddad Maia also means Swiatek has equalled Serena Williams and Maria Sharapova as the fastest player to reach 25 WTA 1000 wins on clay, doing so in just 29 matches.

And Swiatek's emphatic second set saw her tie Coco Gauff for the most number of 6-0 sets won so far this year. They both have seven, just ahead of Sabalenka (five).

Defending champion Sabalenka plays Mirra Andreeva in the last eight on Wednesday after battling past Danielle Collins in three sets. All three of her wins so far have been in deciding sets.

The other last-eight clash is between Elena Rybakina and Yulia Putintseva.