After trailing a set and a break, the second-seeded player from Belarus rallied to win 1-6 7-5 7-6 (7-5).
Sabalenka, the two-time champion in the Spanish capital, will play world No. 1 Swiatek in a rematch of last year’s championship match.
Swiatek of Poland defeated Madison Keys 6-1, 6-3, earlier on Thursday to cruise into the Madrid main event.
In her interview after the match, Sabalenka declared, “It’s definitely going to be a great battle.”
“We battle to the best of our abilities in every match—always amazing matches. I am eagerly anticipating this final and will stop at nothing to secure the victory.”
The clay-court expert Swiatek dominated the entire match against Keys, requiring just seventy-minutes to guarantee her spot in her third WTA 1,000 final of the year.