
Millwall dominated the first half to lead 2-0
West Ham produced a stunning comeback to snatch a point in a pulsating derby and deny Millwall a first win in the fixture in nearly 22 years.
The Lions dominated the opening half and Caleb Taylor and Camiel Neghli scored from close range after the Irons failed to deal with long throws from Lyndon Dykes to give Alex Neil's side a deserved two-goal lead, which they held until 74 minutes.
Half-time sub Mohamadou Kante then arrowed a low strike into the bottom corner to start the comeback and Konstantinos Mavropanos headed home from close range six minutes later to tee up a thrilling finale.
Kante was sent off in the dying seconds for bringing down Lions sub Kyrell Lisbie when through on goal while Dykes spurned a chance to win it for Millwall in stoppage-time.

Jake Cooper of Millwall and Morato of West Ham square off
Despite all the off-field focus on this historic rivalry ahead of their first meeting in more than 14 years, both teams did their talking on the pitch, producing an engaging encounter, the tone of which was established by Jenson Metcalfe's crunching tackle on Jarrod Bowen after just 14 seconds.
The visitors, playing in all white, looked like lost lambs in the Lions' Den in the opening 45 minutes with the hosts quicker to every loose ball and winning every 50-50 challenge. Such was their home side's dominance West Ham failed to touch the ball in the Millwall box in the first half hour.
Millwall, roared on by their vociferous support, might already have been ahead when Taylor thumped home a loose ball after a long throw from Dykes on 16 minutes, with the Hammers temporarily down to 10-men after treatment for Mavropanos.
Jordi Osei-Tutu and Tairyk Arconte both spurned chances to add to the scoring, while Mark Sykes saw a 35-yard thunderbolt tipped onto the bar by the fingertips of Mads Hermansen.
But the second goal came in first-half stoppage-time when an out-of-sorts Hammers back-four allowed Neghli to control and take a touch to steady himself at the near post before finishing.
Hammers dig in and hit back
The Hammers left the field for the interval looking shocked, but Nuno Espirito Santo had a reshuffle, switching to a back three and bringing on Kante and Pablo, which changed the game.
The Irons won their first corner on 50 minutes and an increasingly influential Bowen saw a deflected shot parried by Filip Marschall, handed his first league start in goal following his deadline day arrival from Stevenage, who sprawled to prevent Kante tucking in the rebound.
Marschall was the centre of the game's only real controversy as he appeared to suggest he had been spat at by Hammers forward Taty Castellanos before Pablo drew a stunning reaction save from the 23-year-old keeper with a close-range header from Bowen's cross mid-way through the second half.
Millwall's threadbare squad was tiring and Alex Neil sent on defender Elkan Baggott for Sykes but within four minutes the deficit was halved when Kante was given time and space to drill a low shot into the bottom corner from well outside the box.
The Hammers upped the tempo again and Bowen flashed a cross across the face of goal and fired a shot into the side netting while Marschall made a flying save to deny Edvin Austbo.
The resistance was broken when Mavropanos headed home a Manor Solomon cross at the far post on 80 minutes, though the Irons couldn't find a goal to complete the turnaround and seal a first win at their rivals in nearly 38 years.
Instead Lions sub Lisbie broke away from halfway in the closing seconds but was tugged back by Kante just outside the area, ensuring the Hammers man received a straight red card for denying a scoring opportunity.
Dykes had the chance to win it when a set-piece dropped to him on the half-turn in added time but his effort flew over the bar as Millwall had to settle for extending their unbeaten home run in this fixture to six matches.

Konstantinos Mavropanos celebrates his equaliser, his fourth goal in the league already this season
Lions run out of legs - analysis
For the second time in the space of four days Alex Neil has seen his side produce a near-perfect first-half performance, only to have to settle for a draw.
His gameplan was spot on as the Lions went 2-0 to the good at Middlesbrough on Tuesday before half-time, however, like today, class and a deeper squad told in the end and Boro came back to draw 2-2, and might have won it.
Romain Esse, Casper De Norre, Josh Coburn, Tristan Crama, Alfie Doughty, Ryan Leonard, Mathis Servais, Mihailo Ivanovic and Lukas Jensen could all arguably have started this game if fit and available.
Instead Neil had to pick his third keeper of the season - who didn't have to worry about an attempt on goal until the 35th minute - and shuffle his pack with a host of players who have run themselves into the ground for him lately.
The international break comes at a good time, the Lions have won one of their past six games and now conceded 20 goals in that run. Neil will hope they can kick-start their campaign after 10 October.
West Ham roll up their sleeves - analysis
It's been 15 years and two days since a West Ham side walked out at the Den, and the first-half Hammers side looked every inch a team who had spent those intervening years in the rarefied air of the Premier League, as if it were a health spa.
They said all the right words in the lead up to this game about knowing what the fixture meant to the fans, saying they would be ready.
They weren't. They did not have the edge you need in a fixture like this. Millwall had it in abundance, typified by Jenson Matcalfe's full-blooded tackle on Jarrod Bowen just 14 seconds in.
It all changed after the break when Mohamadou Kante and Pablo were introduced in place of Kyle Walker-Peters and Joel Piroe. Those two had largely played Premier League football, little flicks around the corner, dropping deep and trying first time passes, this was not the game for that.
In the end the thing that got them back in the game, beyond Millwall tiring, was rolling their sleeves up and giving it a good old bash with crosses, throws and shots from outside the box.
Neil: 'Best atmosphere I've seen at the Den!'
Nuno: 'We are still learning'
Player of the match
After the opportunity to rate players has closed, the score displayed represents the average from all the submissions by BBC Sport users.