Bouchard, the second seed from Westmount, Que., needed over two hours to complete the victory. She will make her third semifinal appearance of the season on Friday against Karin Knapp of Italy.
Also Thursday, Karolina Pliskova of the Czech Republic upset top-seeded Angelique Kerber of Germany 7-6 (5), 6-4. Kerber, the world No. 9, won 16 of the first 17 points and squandered a 4-0 lead to lose the first set.
Pliskova held her serve twice in the second, Kerber only once, and that decided the match. The victory gave the 64th-ranked Pliskova her first win over a top-10 player.
Fourth-seeded Elina Svitolina of Ukraine beat Mona Barthel of France 6-4, 6-4 while Knapp outlasted seventh-seeded Caroline Garcia of France 6-7 (9), 6-4, 6-4 to reach her first semifinal in 10 months.
Bouchard reached the final four at the Australian Open and the Family Circle Cup in Charleston earlier this year.
The 20-year-old Canadian will be looking to advance to the second WTA final of her career. She reached a final last year in Osaka, Japan but lost to Samantha Stosur.
With files from The Canadian Press.