The world number one had been on poor form coming into the final tournament before the US Open having lost in the first round in both Toronto and Cincinnati.
With golfer Rory McIlroy present and getting treatment for an injured right arm, Wozniacki broke her opponent to claim the first set.
The 21-year-old also broke in the eighth game of the second set to move into the last four after an hour and 42 minutes.
Wozniacki's semi-final opponent will be third-seeded Francesca Schiavone, who advanced when Anabel Medina Garrigues withdrew due to a knee injury although the Spaniard expects to play in the US Open.
Second seed Li Na endured several hours of rain delays to secure a 6-4 3-6 6-2 win over Russia's Anastasia Pavlyuchenkova.
The Chinese player will now play Czech qualifier Petra Cetkovska who beat fourth seed Marion Bartoli 7-5 7-5.