World No. 143 Andreescu saved 10 of the 12 break points she faced in a resolute display, managing to break through herself twice in each set on the Wozniacki serve to secure a 6-4, 6-4 victory.
Wozniacki's failure to convert her opportunities and a successful return percentage of below 40 percent meant she was unable to progress in a tournament where she reached the final in 2018 before going on to win the Australian Open.
Andreescu will play Venus Williams in the quarterfinal after the American defeated compatriot Lauren Davies in a battle of former champions earlier in the day.
Williams, 38, edged the first set with a timely break at 5-4 and broke again early in the second before serving up a masterclass with the loss of just five more points on serve on her way to victory.