Five goals, a red card, three penalties - two of them missed - and a lot of very angry West Ham fans: welcome back, after almost 12 years, to the East London derby.
In a high-tension game that was surprisingly pedestrian early on, matters came to a head with an hour gone. The catalyst came when Neil Harris ran on to a through ball and lobbed Stephen Bywater, who blocked Harris' path to goal. The referee, Jeff Winter, had no option but to send the West Ham goalkeeper off, which led to mayhem in the stands.
Looking at conceding a possible fourth goal - although Tim Cahill did miss his penalty - some West Ham fans began to respond to taunts from their opposite numbers. Although play continued, with Cahill sending his spot-kick high and wide, eight police horses and three dozen policemen in riot gear were brought in to quell the rising tide of the visiting fans' ire. Order was ultimately restored, although chaos continued to reign in the West Ham defence.
"Inept" was the word that Alan Pardew, the Hammers' manager, used. Three-one down and with 10 men, his side conceded a fourth goal, as Nick Chadwick won a bouncing ball from Tomas Repka, the Everton loan player smashed his shot past Pavel Srnicek, the substitute goalkeeper.
"We could have had six or seven goals," crowed Dennis Wise, Millwall's player-manager, with some justification. However, in a week that also saw his side reach the semi-finals of the FA Cup by beating Tranmere, he emphasised he was keen to concentrate on the League, with the play-offs looming.
Wise added: "The lads were fantastic and our punters [supporters] were fantastic. I was disappointed with the West Ham punters.
"The lads were focussed and knew what we had to do. We need a certain amount of points to reach the play-offs, we've got games in hand and need to make them pay."
This deserved win saw Millwall jump two places to seventh, and because of their run of only one defeat in their last 10 League games they are only short of the play-off zone on goal difference.
With 34 minutes gone, the home side had the goal their possession deserved, although it came from an unlikely source. Paul Ifill curled in a hopeful-looking ball that bore fruit when Christian Dailly stuck out his foot and diverted it low past his own goalkeeper. The Scot's own goal certainly made Neil Harris happier as he had missed a penalty 18 minutes earlier after Matthew Etherington had brought down Ifill.
Bywater saved and then Cahill's later miss prompted Wise to joke: "I need to buy a penalty-taker." However, Millwall then doubled their lead when Cahill stole in behind the defence 48 seconds after the restart, although Marlon Harewood pulled a goal back from the spot after David Livermore had handled.
Cahill capped his Man of the Match performance when he volleyed in from Ifill's corner, and Chadwick's first goal for Millwall made it a day to remember, for one part of East London at least.
The Millwall club spokesman Ken Chapman said yesterday that there had been arrests and ejections among both sets of supporters because of the crowd trouble. "Four Millwall fans were ejected and one was arrested for racial abuse," he said. "Three West Ham fans were also ejected and two were arrested for criminal damage."
Goals: Dailly og (34) 1-0; Cahill (46) 2-0; Harewood pen (49) 2-1; Cahill (56) 3-1; Chadwick (80) 4-1.
Millwall (4-4-2): Marshall; Ryan, Lawrence, Ward, Muscat; Cahill, Roberts, Ifill, Livermore; Dichio (Chadwick, h-t), Harris. Substitutes not used: Warner (gk), Wise, Elliott, Sweeney.
West Ham United (4-4-2): Bywater; Harley, Melville, Dailly, Repka; Etherington (Srnicek, 61), Carrick, Horlock (Deane, 50), Reo-Coker; Zamora, Harewood (McAnuff, 73). Substitutes not used: Nowland, Cohen.
Referee: J Winter (Cleveland).
Bookings: Millwall: Harris. West Ham: Melville. Sending-off: West Ham: Bywater.
Man of the Match: Cahill.
Join our new commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies