Full-time from Roots Hall
It was an afternoon that Lions manager Neil Harris and his players will want to quickly forget as they failed to hit the heights of previous displays that had reaped five wins from their previous seven fixtures away from The Den.
With less than two minutes on the clock Millwall forced home keeper Mark Oxley into action. A slick move worked the ball forward and when O'Brien's neat flick played in Mahlon Romeo, who had surged forward on the overlap, the right-back's goal-bound shot was parried by Oxley at full stretch.
Ferguson then slipped the ball through to former Shrimper David Worrrall, but the winger's rising shot from 14 yards flew over the bar and Steve Morison fired past the post as The Lions dominated the opening exchanges.
However that early pressure counted for nothing and it was Southend, on the back foot from the opening whistle, who stunned the 2,000 travelling fans by breaking the deadlock when Mooney's shot on the turn took a deflection on its way past Jordan Archer in the Millwall goal.
The Lions responded well but were frustrated when referee Graham Salisbury seemed to miss O'Brien being hauled to the ground by his shirt on the quarter-hour mark. To add to the sense of frustration, Byron Webster was then penalised for a foul on the halfway line as Southend cleared the ball.
Left-back Joe Martin was the first name into the official's book after 21 minutes for a rash challenge on Jermaine McGlashan, and immediately became a target for the Roots Hall boo boys.
Unperturbed, Martin then tested Oxley with a low 16-yard shot that was comfortably held two minutes later as The Lions searched for an equaliser.
The keeper was called into action again midway through the half, getting a good distance on his punch to clear Romeo's teasing delivery before Butcher was also denied by the increasingly busy Shrimpers No.1.
Millwall's pressure finally paid off 12 minutes before the break when O'Brien was perfectly placed to clip home an equaliser for the second successive game, turning Morison's inviting low cross beyond the reach of Oxley from close range.
The home fans were up in arms when Lions defender Martin received a final talking to from ref Salisbury for a foul on Mooney rather than a second yellow card. The left-back was subbed three minutes later in a move that saw Ferguson drop back into defence, O'Brien fill in on the left and Lee Gregory partner Morison up front.
It took an acrobatic save by Archer to tip McGlashan's effort away to keep the score level at the break, and the game finely balanced.
Southend forced a couple of early corners after the restart and although dealing with the first, The Lions were punished when Jason Demetriou's second corner after 50 minutes was half cleared and McLaughlin had time to control the ball before thumping a 16-yard shot into the roof of the net.
Skipper Tony Craig could only direct a free header from Worrall's in-swinging corner wide of the target as Millwall spurned a good opportunity to get back on level terms within 60 seconds.
Harris made his second change of the game on 61 minutes, introducing midfielder Ben Thompson for Butcher and The Lions responded with a little spell of possession to keep the Shrimpers rearguard on their toes.
A powerful run by the sub had the home defence at full stretch on 67 minutes, but Thompson's final delivery didn't match his approach play and the ball curled behind for a goal kick.
The Lions had another good shout for a penalty dismissed by the officials as the game headed towards the final 14 minutes when Webster was clearly impeded as he tried to get on the end of Worrall's free-kick, and the big defender was again fouled just two minutes later, this time having his shirt held. Once more, the appeal of both Millwall'a players and fans fell on deaf ears.
An afternoon of total frustration was perhaps best summed up by Southend's third goal with just under four minutes remaining. Having booked Webster for a 'foul' and allowing Southend to place the ball for a free-kick, the referee then insisted that a throw be taken, from which Ben Coker's cross was punched away by Archer. However the ball fell invitingly for O'Neill and the sub made no mistake from close-range to secure all three points.
Scorers: Mooney (6mins), McLaughlin (50mins), O'Neill (88mins)
Millwall: Archer, Martin (Gregory, 39mins), Craig, Williams, Worrall, Romeo, Butcher (Thompson, 62mins), Webster, Ferguson, Morison, O'Brien. Subs not used: King, Onyedinma, Wylde, Nelson, Abdou.
Booking: Martin (23mins), Thompson (83mins), Webster (85mins)
Scorer: O'Brien (33mins)