The 43rd-ranked Kanepi rallied from three games down in the third set and won the match when she broke the defending champion with a forehand down the line.
After a sluggish start, Wozniacki dominated the second set but was unable to keep the momentum in the third when she was broken three times by the Estonian player.
"I played some good tennis in the second set and the first half of the third but then I couldn't get my serve in," Wozniacki said. "Kaia played a good match today. I'll try to do better next time."
In Thursday's quarterfinals, Kanepi will play the winner of a later match between Poland's Agnieszka Radwanska and Jelena Jankovic of Serbia.
Sharapova came back from a 1-3 deficit in the first set and from a 3-5 hole in the second.
"It was a tough match," Sharapova said. "Two sets go to tiebreak, I was pleased that although I really didn't play my best in the match I stepped it up in the tiebreaks and that was the difference."
"It was a tough loss against her at Wimbledon," Sharapova said. "I thought she played great tennis. She hit the ball big and deep, had a great serve. I hope I can learn from that match and I'm looking forward to it."
Kirilenko, who knocked out U.S. Open champion Samantha Stosur on Tuesday, broke her opponent in the first game of the second set and never was threatened by the 12th-ranked Serb, who took a medical timeout midway through the second set because of a sore back.
"To be honest, I was a little bit tired today when I woke up," Kirilenko said. "I didn't have that much time to recover because we finished so late yesterday."
Kirilenko broke Ivanovic again to go up 4-1 in the second set and took advantage of her opponent's sixth double fault in the last game to close out the match in 1 hour, 19 minutes at Ariake Colosseum.
"You do get more and more confident with each win," said Kirilenko, who has yet to beat Zvonareva in five matches. "I've had so many tough matches against Vera. Hopefully, tomorrow will be another tough one."