Ivanovic had stunned world number one Serena Williams in the previous round but hampered by a left hip injury, she was worn down by Bouchard, who showed no signs of nerves in her first grand-slam quarter-final.
The only time Bouchard lost her poise was when she was asked in her on-court interview who she would most like to date, looking slightly embarrassed before announcing: "Justin Bieber".
On court, she was calm throughout, even after losing the first set and then, when she was leading 4-3 in the second, having to wait for several minutes while Ivanovic took a medical timeout for treatment to her left hip.
"I'm glad I looked (calm)," she said, when asked how she dealt with the delay. "We'd just had a tough game. I tried to keep fighting and play aggressive and I think I stepped it up in the third set."
Having upset Williams, Ivanovic went into the match as favourite but looked to be feeling the pressure as she tried to reach her first Grand Slam semi-final since she won the French Open in 2008.
A missed smash by Bouchard handed Ivanovic the break for 4-3 and though they then traded two more breaks apiece, Ivanovic clinched her fourth set point to go ahead.
But Bouchard bounced back quickly, breaking to lead 3-1 in the second set and after the timeout at 4-3, hold her nerve to break to level the match when Ivanovic double-faulted.
Cheered on by the "Genie Army", a band of Australians wearing the letters of her first name, Bouchard missed three chances to break in the second game of the decider, but earned the breakthrough two games later.
Ivanovic tried to get back into the match with some heavy hitting but Bouchard was a match for everything she could throw at her and broke again to seal victory.
In the semi-finals Bouchard will play China's Li Na, who beat her in their only previous meeting, in Montreal in 2012.
"We had a tough battle last time," Bouchard said. "I didn't have much experience back then so I feel this time I'll be better.
"I'm just going to have to go for it and take my chances when I get them."
30-Eugenie Bouchard (Canada) beat 14-Ana Ivanovic (Serbia) 5-7 7-5 6-2
4-Li Na (China) beat 28-Flavia Pennetta (Italy) 6-2 6-2
- Sports & Recreation
- Serena Williams