Joe Cole scored the opening goal of an action-packed game on four minutes, drilling a right-footed shot past Ben Foster.
But a clinical double from Nicolas Anelka, scoring his first Albion goals on 40 and 45 minutes, turned the game on its head before the interval.
Sam Allardyce sent on Modibo Maiga for Carlton Cole at half-time, and the sub made it 2-2 on 65 minutes with a left-footed strike before setting up Kevin Nolan to make it 3-2 two minutes later.
Saido Berahino drew the scores level once again on 69 with an angled finish – and hit the upright with a late free-kick.
But both teams had to settle for a point apiece, ensuring both are firmly locked in a fight for top-flight survival.
The managerless Baggies made the brighter start with Chris Brunt steering an early shot into the side-netting.
But they fell behind on four minutes when Carlton Cole flicked on a long punt from Jussi Jaaskelainen to Joe Cole, who played a neat one-two with Nolan before firing a low right-footed shot past Foster.
James Tomkins went off injured with a groin strain and was replaced by Guy Demel before Nolan had a penalty claim turned down after his shot struck Liam Ridgewell’s chest in the 18-yard box.
Carlton Cole headed a corner over the crossbar under pressure from Jonas Olsson on 24 minutes, then set up a chance on 31 for Demel, who swivelled well but struck the upright with a fierce right-footed effort.
Brunt wasted a good chance to equalise on 38 minutes when he declined to shoot with his right foot – but the winger played a sublime through ball to Nicolas Anelka on 40 and saw the Frenchman take full advantage, dinking the ball over Jaaskelainen to make it 1-1.
Albion then took the lead in controversial circumstances on 45 after winning a dubious corner from a Joe Cole challenge with James Morrison. Brunt’s corner was headed goalbound by Olsson, and after Demel blocked tamely on the goalline, Anelka reacted first to poke the ball into the back of the net.
Allardyce sent on Maiga for Carlton Cole at the break, and after Foster pulled off a stunning save to tip the striker’s left-footed drive over the crossbar, the sub netted an equaliser on 65 minutes.
Once again Maiga let fly with his left foot from 20 yards, and the ball skipped over the diving Foster’s right hand to spark celebrations in the home crowd.
Hammers fans were in full voice again two minutes later as Maiga’s knock-down from a Mark Noble cross found Nolan, who volleyed home from close range to make it 3-2 to the struggling hosts.
But it was 3-3 on 69 minutes, when Berahino cut onto his left foot in the 18-yard box and steered an angled drive into the bottom corner.
Both teams went for the win in the closing stages, with Jaaskalainen saving Brunt’s half-volley and Berahino smacking the upright with a superb free-kick.
But they had to settle for a point each, with Albion now having drawn their last three league games to remain in a survival scrap with the Hammers, who stay in the drop zone.