Maria Sharapova will face Ana Ivanovic in the semi-finals at Indian Wells after the Russian came from a set down to beat Maria Kirilenko.
The German stifled her opponent in the first set and was able to snatch an early break of serve. Sharapova responded with a break of her own, but it was Kirilenko who made the decisive second break at 3-2 before she claimed the set 6-3.
The world number two got off to a bad start in the second set when she was broken with her first service game. She soon broke Kirilenko's serve twice but undid her hard work when she was broken at 4-3.
Both players held serve for the rest of the set as it looked like it was going to a tie break, but Sharapova found a final break to take the set 7-5 and level the match.
The world number 23 appeared drained from the previous two sets and failed to trouble her opponent in the decider. Despite losing one service game, Sharapova broke Kirilenko three times as she took the set 6-2 to progress into the next round.