The Canadian survived two break points in her opening service game before fighting back to beat Wozniacki on her own serve and gain an early advantage.
Three consecutive breaks soon followed to put Bouchard into a 5-2 lead serving for the set, and she made no mistake in wrapping the opener up at the third time of asking.
Both players were more solid on their own serve in the second set, with the first break point not coming until the sixth game.
Bouchard survived two on that occasion before taking complete control of the match with another break to make it 4-3. The Canadian then held her own serve before breaking again to clinch the 6-3 victory.
Bouchard will now face Petra Kvitova in the final.