Williams, world number one and the 15-times Grand Slam winner, stretched her run of consecutive wins to 23 on her way to Sunday's final, where she will meet Victoria Azarenka in a final for the first time since her defeat to the Belarusian earlier this year in Doha.
Azarenka, the third seed, proved too strong for Italian hopeful Sara Errani in a 6-0, 7-5 win in the other semifinal that was interrupted by rain twice and once by Errani, who called for her coach after losing the first three games.
Williams, meanwhile, will head to next week's French Open as one of the favourites and with revenge on her mind after a shock defeat in last year's tournament to Frenchwoman Virginie Razzano.
Ahead of that challenge, the 30-year-old American will be hoping for a more telling workout against Azarenka after a limpid semifinal in which Romania's Halep failed to offer any kind of challenge.
Williams was so unhappy with her match that she went to practice for two hours before speaking to reporters, and said: "I am only unhappy with the way I played and I need to work on a few things and be able to do well here and next week."
Asked about Azarenka and their last final encounter in the Gulf, the American indicated she expects an altogether different challenge on Sunday.
Gifted a place in the semifinal
"She played well in that match [in Doha] and I was happy in the final," said Williams. "It was a tough tournament and I had opportunities that I wasn't able to use, and Viki plays well in the vital points."
Errani had been gifted a place in the semifinal when defending two-time champion Maria Sharapova of Russia withdrew early on Friday citing a fever.
However, it was clear from the start that the Italian would be up against it.
In spite of the hot and humid conditions, Azarenka barely broke sweat on her way to a first-set whitewash.
Errani, who had beaten the Belarusian only once in their six previous encounters, emerged with bigger ambitions in the second set.
But despite battling all the way, she was ultimately broken in the 10th game before Azarenka served to take a 6-5 lead.
Errani valiantly saved three match points in the final game but was finally broken by the more powerful Belarusian. – AFP