The 30-year-old came back to the tour in April following a 15-month ban for taking the banned drug meldonium.
Sharapova needed just 78 minutes to overcome third seed Peng on Saturday and book a date with 19-year-old Aryna Sabalenka in the final.
The Russian, a tournament wildcard, made the perfect start by breaking Peng's serve in the first game of the match and closed out the set with another break.
Peng had held her own for much of the opening set but the five-time Grand Slam champion broke early in the second and completed a comfortable win.
Sharapova, ranked 86th in the world, made the last 16 at the US Open in September and also reached the last 16 in Beijing last week, before losing to world number one Simona Halep.