Ostapenko, who is the world No.21, stunned Halep in their first meeting in the 2017 Roland Garros final to win her first grand slam title before the Romanian exacted revenge in Beijing later that season.
In their first meeting since that last-four clash, Halep raced out the blocks to wrap the first set in just 27 minutes as she converted both break-point opportunities to take an early lead.
However, Ostapenko responded emphatically in the next set, claiming a 3-0 advantage before eventually levelling things up after a one-sided tie-break separated the pair in the second.
Ostapenko carried her momentum in the deciding set as she made a blistering start, with Halep unable to win a single game as the 24-year-old secured victory in an hour and 36 minutes.
Kudermetova awaits the Latvian in the final after Marketa Vondrousova was forced to withdraw from her last-four match with a right adductor injury.
The pair has not met before on the WTA Tour but both players boast identical records at the start of the 2022 season, winning eight of their matches and losing three.