Iga Swiatek and Madison Keys fight back to reach Madrid Open semis
The world number one, who lost last year's final to Aryna Sabalenka, found her rhythm in the second set and ultimately eased to a 4-6, 6-0, 6-2 victory.
That was the first set the Pole had dropped in the tournament, but she had an emphatic response, completing a bagel in the second set, where the Brazilian failed to force a single break point and Swiatek won two service games to love.
Swiatek continued in the same vein in the deciding set, breaking at the first opportunity to lead 2-0, and although Haddad Maia broke back immediately, the top seed won four of the next five games to complete her comeback.
Having lost their first meeting in 2022, Swiatek has now won the last three matches against the Brazilian.
Swiatek, who has won titles in Indian Wells and at the Qatar Open in 2024, will face Madison Keys (29) in Thursday's semi-final, after the 18th seed beat Tunisian Ons Jabeur (29) 0-6 7-5 6-1.
The 2022 champion and eighth seed appeared to be cruising towards an effortless win, taking the first set in only 24 minutes.
However, the American world number 20 fought back in the second and forced a decider where she broke twice to reach the semi-finals in Madrid for the first time.