Benteke opened the scoring with a superb diving header before the break, but was sent off midway through the second period for a second yellow card after catching Tomas Soucek with a flailing arm.
In between, Haller’s magnificent acrobatic effort had put the Hammers on terms, but David Moyes’s side could not find a winner despite playing the final twenty minutes against ten men.
Eberechi Eze caught the eye for Palace in the opening stages, the £16million youngster signed from QPR playing a neat one-two with Wilfried Zaha only for his low cross to fizz straight across goal.
Moments later, Joel Ward crossed from the right but Benteke could not get enough on his header from four yards out and the ball bounced wide.
Nevertheless, West Ham had been warned, although they almost made the breakthrough when Vladimir Coufal’s cross found Pablo Fornals 10 yards out but his header flew the wrong side of the far post.
Instead Palace went ahead in the 35th minute when Ward whipped in another cross from the right.
This time Benteke, now in what for him is a rich vein of goalscoring form, got in front of Issa Diop to head home his third in three matches for the visitors.
It was a distinctly flat first half from an in-form West Ham side, although Palace goalkeeper Vicente Guaita did have to be on his toes to beat away Jarrod Bowen’s low drive.
Benteke passed up a glorious opportunity for a second before the break for Palace when Andros Townsend danced into the area and laid the ball across goal.
But the Belgium striker opted for a backheel finish and the ball went straight into the arms of Hammers keeper Lukasz Fabianski.
West Ham equalised 10 minutes after the interval in style through Haller, who has been toiling on his own in the Hammers attack of late as replacement for the injured livewire Michail Antonio.
But he made his mark when Coufal crossed from the right, the Ivory Coast forward executing a superb bicycle kick which flew past Guaita and into the net.
Benteke had been booked in the first half for catching Angelo Ogbonna with a flailing arm and, much to his disbelief, he was shown a second yellow 20 minutes from time for the same indiscretion against Soucek.
West Ham looked for a winner but Declan Rice fired inches wide as both these upwardly mobile sides were forced to settle for a point.
Additional reporting by PA.