The 15th-seeded Serb, who had ousted defending champion Caroline Wozniacki in the previous round, seized control with her powerful serving and strong baseline game after being broken in the first game of the match.
She broke the Frenchwoman, who was runner-up last year to Dane Wozniacki, three times before wrapping up the win in one hour 17 minutes when her opponent pushed a forehand service return wide.
"I'm definitely very happy to be through and get my revenge for last year in the quarters," said a smiling Ivanovic, who was beaten by Bartoli in straight sets at the same stage 12 months ago.
"It was a tough match but I served well. When I broke her (leading 4-3) in the first set, I think that was the turning point."
In dazzling sunshine at the Indian Wells Tennis Garden, the tall Serb broke Bartoli in the second and seventh games before clinching the opening set in 35 minutes with her third ace.
Ivanovic again broke Bartoli in the first game of the second, when her opponent double-faulted, and the next two games went with serve before the Frenchwoman, trailing 1-2, called for a timeout to have her blood pressure checked.
"Everything is spinning around me," Bartoli said to the doctors. "I am very cold."
However, Bartoli resumed play after the three-minute timeout and held her own serve until Ivanovic sealed victory on her first match point in the 10th game.