The Tykes broke the deadlock in the 41st minute when Kieffer Moore headed home Alex Mowatt’s right-wing corner from close range.
Southend equalised four minutes into stoppage time when Sam Mantom’s corner from the left was deflected into his own net by Moore.
But Barnsley regained the lead when Shrimpers goalkeeper Mark Oxley fumbled a corner from Mowatt and Cauley Woodrow was on hand to fire home the rebound from close range.
The Tykes then made it 3-1 when Mike Bahre’s cross from the right was tapped in by Woodrow.
Southend got back into the game in the 84th minute when Timothee Dieng headed home Stephen McLaughlin’s left-wing corner.
The Shrimpers then saw Michael Turner’s volley controversially ruled out for offside, before Barnsley wrapped up the win in stoppage-time as Bahre fired home.