Match ends, Bournemouth 2, West Ham United 2.
Left-back Aaron Cresswell fired in a late equaliser at the Vitality Stadium as West Ham stretched their unbeaten Premier League run to six matches.
The two sides came into the game in the top six and produced a pulsating match, with Andriy Yarmolenko opening the scoring with his third goal in six Premier League games this season.
But the lead lasted just seven minutes as Joshua King struck from close range. Although the goal was initially flagged offside, the video assistant referee overturned the decision after a lengthy stoppage.
West Ham then kicked off the second half yet fell behind just 27 seconds later as Callum Wilson swept in his fifth goal of the season.
But the England striker spurned a great chance to make it 3-1 and within 90 seconds Cresswell volleyed home to deny Bournemouth a third straight Premier League win.
Having failed to score at all in the 2018-19 season, the former England defender, 29, has scored twice in a week after sealing last Sunday's 2-0 win against Manchester United.
It would have been harsh for either to lose, having produced much-improved performances after reverting to the same starting line-ups they had for their last Premier League game.
In-form Wilson punished for late miss
Bournemouth claimed their first ever win at Southampton last Friday to go third in the table - if only temporarily - and despite falling behind to Yarmolenko's well-taken opener, they made a positive response.
A short corner resulted in Diego Rico delivering an outswinging cross which deflected off Nathan Ake's thigh into the path of King. The Norwegian forward swept the ball in and his initial disappointment at seeing the offside flag turned to delight as the decision was overturned.
Dominic Solanke headed over from a corner and the Cherries were handed a boost when West Ham goalkeeper Lukasz Fabianski injured his thigh taking the goal-kick.
He had to be replaced by Roberto Jimenez on 34 minutes and although the hosts failed to test the Premier League debutant before the break, Wilson was clinical immediately after the restart.
The Hammers swiftly lost possession and Solanke cut in from the left before finding King. He poked the ball to Wilson, who gave Roberto no chance by firing into the bottom corner from just inside the box.
It was the first time Wilson, who was named in Gareth Southgate's latest England squad, has scored in four straight Premier League games - and his seventh in seven Premier League games against West Ham.
The 27-year-old scored a hat-trick at West Ham in August 2015 to give Bournemouth their first Premier League win and he could have had another as, after Ake rightly had a goal disallowed for offside against Solanke, he fired a 20-yard effort straight at Roberto before being denied by the Spanish veteran after being played in by Harry Wilson.
Callum Wilson may have had the opportunity to make amends from the penalty spot as Cresswell appeared to pull King's shirt late on but the referee turned down the Cherries' appeals - and the VAR agreed.
Yarmolenko, the Hammers' game-breaker
Like Cresswell, Yarmolenko was also on target last week, and the Ukraine winger again showed he could be a game-breaker capable of keeping West Ham in contention for a European place.
An early foul left the 29-year-old hobbling but he shrugged it off to collect Sebastien Haller's lay-off, after the striker brought down a lofted ball by Felipe Anderson, before turning Ake and firing a left-footed effort beyond Aaron Ramsdale.
King scored the first goal West Ham had conceded in 360 minutes of Premier League action before the Hammers lost Fabianski, but it was the visitors who went closest to going in front before the break, with Anderson's volley forcing Ramsdale to turn the ball over.
Although they handed Bournemouth the initiative at the start of the second half, Yarmolenko remained the Hammers' biggest threat, curling a low effort just wide from Anderson's lay-off.
Another right-wing cross by Yarmolenko found Anderson at the back post and although his downwards header was parried by Ramsdale, there were defenders on hand to clear the rebound.
Then, moments after Wilson's miss Yarmolenko again picked out Anderson in the box and the Brazilian cushioned the ball down for Cresswell to volley into the turf and past Ramsdale, nudging the Hammers into the top three - at least until Leicester play on Sunday.
Man of the match - Andriy Yarmolenko
Discussing VAR at final whistle - or were they?
Bournemouth manager Eddie Howe: "It was another for the neutral, who'd have loved it. It was an end-to-end game, very open. For the respective managers it was probably not so easy to watch.
"We had a slow start, we were a bit lethargic, but we showed really good character to stay in the game, so good that we found ourselves 2-1 ahead, and that was probably the key spell of the game. Could we get the two-goal cushion? We didn't and that let West Ham back in it to get a point.
"It's too early to make assumptions about where we'll finish, but in terms of our general play and how the team sets up, I do think there's more to come from us."
On the Callum Wilson miss: "It was a good chance, a really good team move - my only thought at the time was, could he square it maybe to Joshua King or Harry Wilson, which would have been the easier thing to do? But he's taken it on, he's in confident mood and the goalkeeper's made a good save.
"It doesn't mean we have to concede at the other end, it's not an excuse for conceding. We have to tighten up in that respect as we can't have to score three to win."
On speaking to Manuel Pellegrini at length at the final whistle: "It wasn't heated, we were just discussing the VAR calls and obviously everyone's got their different opinions on the decisions, so there's no problem."
West Ham manager Manuel Pellegrini: "I'm not disappointed because I think we played a good game and had more options than Bournemouth to score. But it's not the game you are sure you should win because they also had chances.
"I'm very happy because I think we played the way I like to see my team play, with the personality to come here and try to win the game from the first minute."
On speaking to Eddie Howe: "I never talked about the VAR decisions. I talked about the assistant coach who, for the complete game, had been trying to pressure the referee in every decision. I think Eddie has done some very good work here. His assistant doesn't need to do that kind of thing because I don't think it's fair for the referee.
"Third is a good position, we must defend that position playing the way we did today and in all the last games. In this league you can beat everyone, so it's important to trust in what we're doing and try to improve in every game."
On Andriy Yarmolenko: "He's a very special player, he's always had goals in his complete career. He was very unlucky that at his best moment last season he had an Achilles tendon injury but he's returned and worked very hard. I'm very happy for him as he's not only scoring but working very hard."
Cherries continue to frustrate the Irons - the stats
- Bournemouth are unbeaten in six Premier League matches against West Ham (W3 D3 L0) since losing 1-0 in August 2016.
- West Ham are unbeaten in six away Premier League games (W3 D3), after losing seven of the eight before that (D1).
- Nathan Ake has been directly involved in two goals in his last two Premier League games (one goal, one assist) - as many as he managed in his previous 23 (two goals).
- Aaron Cresswell has scored in consecutive league appearances for the first time in his professional career.
West Ham have a London derby at home to Crystal Palace next Saturday (17:30 BST) before Bournemouth visit Arsenal next Sunday (14:00 BST).
- 17StaceySubstituted forL Cookat 89'minutes
- 3S CookBooked at 88mins
- 21RicoBooked at 32mins
- 22H WilsonSubstituted forDanjuma Groeneveldat 77'minutes
- 29BillingSubstituted forFrancisat 89'minutes
- 8LermaBooked at 90mins
- 13C Wilson
- 14Danjuma Groeneveld
- 16L Cook
- 1FabianskiSubstituted forJiménezat 34'minutes
- 23DiopBooked at 79mins
- 16NobleSubstituted forWilshereat 75'minutes
- 18FornalsSubstituted forLanziniat 67'minutes
- 8Felipe Anderson
- Stuart Attwell
- Shots on Target
Second Half ends, Bournemouth 2, West Ham United 2.
Jefferson Lerma (Bournemouth) is shown the yellow card for a bad foul.
Substitution, Bournemouth. Simon Francis replaces Philip Billing.
Substitution, Bournemouth. Lewis Cook replaces Jack Stacey.
Steve Cook (Bournemouth) is shown the yellow card for a bad foul.
Sébastien Haller (West Ham United) wins a free kick in the defensive half.
Foul by Steve Cook (Bournemouth).
Attempt blocked. Dominic Solanke (Bournemouth) left footed shot from outside the box is blocked. Assisted by Jefferson Lerma.
Attempt saved. Declan Rice (West Ham United) right footed shot from outside the box is saved in the bottom right corner. Assisted by Manuel Lanzini.
Attempt saved. Callum Wilson (Bournemouth) right footed shot from the centre of the box is saved in the bottom left corner. Assisted by Diego Rico with a cross.
Issa Diop (West Ham United) is shown the yellow card for a bad foul.
Foul by Issa Diop (West Ham United).
Dominic Solanke (Bournemouth) wins a free kick in the defensive half.
Attempt blocked. Manuel Lanzini (West Ham United) right footed shot from the centre of the box is blocked. Assisted by Ryan Fredericks.
Substitution, Bournemouth. Arnaut Danjuma Groeneveld replaces Harry Wilson.
Foul by Declan Rice (West Ham United).
Jack Stacey (Bournemouth) wins a free kick on the right wing.
Substitution, West Ham United. Jack Wilshere replaces Mark Noble.
Goal! Bournemouth 2, West Ham United 2. Aaron Cresswell (West Ham United) left footed shot from the left side of the box to the centre of the goal. Assisted by Felipe Anderson with a headed pass.