The reigning Roland Garros holder will play Ana Ivanovic after the Serb ninth seed defeated Ukrainian teenager Elina Svitolina 6-2, 6-3 in less than an hour on Friday night.
Sharapova, a five-time Grand Slam champion, has won eight of 11 meetings with her former world number one opponent. Ivanovic claimed their last meeting in the third round at Rome in May.
Sharapova had to make a great escape against world number two Halep, who has burst into WTA prominence over the past year. Sharapova won her fifth match against Halep without a loss.
Sharapova also claimed her 13th match at the pre-US Open event and took the title in 2011.
The Russian, who tends to play well under pressure, recovered after a tight opening set to finally secure the victory -- her 38th of 2014 -- after two and a half hours.
"It was a pretty poor first set from my end, a lot of unforced errors," said Sharapova. "I think it was some of the lowest first serve percentages I've had for a while.
"Nothing really was going my way. So I definitely needed to do a few things differently to be a bit more consistent but maintain that aggressiveness that works against her.
"The court is like a battlefield. It's my job. It's where I'm supposed to perform."
Top-seeded Serena Williams cruised into the final four with a 6-1, 6-3 win over Jelena Jankovic.
"She's beaten me several times, so I knew today I just had to be focused and do the best I could," said Williams, a 17-time Grand Slam champion who has never lifted the trophy in Cincinnati.
"She played some great points. I was just trying to not make many errors, stay focused and do the best that I could."
Williams will face former world number one Caroline Wozniacki, who beat fourth-seeded Agnieszka Radwanska of Poland 6-4, 7-6 (7/5).
Williams completed her win over Jankovic in less than an hour as she reached the last four without the loss of a set. The American fired seven aces and broke five times against the former number one.
Williams won 10 of 14 career matches against Jankovic, last losing to her in 2010. She has beaten the Serb five times in the past two seasons.
"I definitely felt pretty good about today, I felt better," said Williams. "My unforced errors are lower than they've been this year, so it's definitely going the right way.
"I don't think she played her best today and still she fought well. I was glad to have an opportunity to just get through that.
"I don't think I played great last week (a semi-final loss in Montreal). I was just fighting to be in the tournament. I was mentally fighting really hard. I definitely feel like I'm playing better this week."