Sharapova won the first set 6-2 and was beaten 6-3 in the second. However, she came from a break down to win the decider and seal the match 6-4 despite often struggling to hold her service games.
"In the third set, she always had the advantage," she said after the match. "I was always down on my serve. I thought to myself, I've got to go for it and hit it. Don't give her the opportunity to finish off the points the way she likes to.
"I just hung in there and got a few returns in on the last game. She was serving so well in the third – maybe that was the key.
"I love this sport. Sometimes, even if you're not playing your best tennis, you can find a way to win. It's a one on one sport and it's really just about you and your opponent. At the end of the day, you just try to win every point."
Sharapova, the fourth seed, will now face third-seeded Victoria Azarenka in the final.