Pliskova, seeded fourth from the Czech Republic, will play for the title Sunday against the winner of the other semifinal between Camilia Giorgi of Italy and qualifier Jessica Pegula of the U.S.
Sabalenka, ranked No. 3 from Belarus, was inconsistent all match, committing five double-faults and saving just four of seven break points. She threw her racket to the ground in frustration early in the second set. Pliskova finished with 10 aces.
Sabalenka, who leads the WTA Tour in aces, started the match with an ace but struggled to return serves from the sixth-ranked Czech. Pliskova broke early in the match, taking a 2-1 lead after Sabalenka sent a ball long following an extended rally.
Sabalenka began to settle in midway through the second set, coming toward the net, then dropping shots behind her opponent. Pliskova used her strong serve to stay ahead, saving a break point with an ace and two other serves Sabalenka couldn’t control.
Last month, Pliskova beat Sabalenka in the Wimbledon semifinals. She then lost the final to Australia’s Ash Barty.