Jermaine Grandison's late goal saw 10-man Shrewsbury topple League Two leaders Southend.
Marvin Morgan was sent off for Town in the first half after lunging at Southend midfielder Jean-Paul Kalala.
James Collins put Shrewsbury ahead from the spot after being fouled by Peter Grant but sub Ryan Hall fired in from the edge of the box to make it 1-1.
Grandison headed in Matt Richards' corner as Graham Turner's men kept up their season-long unbeaten home record.
Southend remain top after Crawley and Cheltenham both failed to win.
VIEWS FROM THE DRESSING ROOM
Southend manager Paul Sturrock told BBC Essex:
"The sending off looked a bit harsh to me. I thought Shrewsbury's penalty was a bit soft as well, but I think the ref was at the stage of levelling things off.
"We played 10 men and a crowd that thought they were unjustly done by, that's a dangerous concoction.
"They showed that endeavour and will to win that 10 men normally do, and caught us a few times on the break when we were trying to push forward."