City got off to a great start, Dominic Poleon firng in after good work from Charlie Wyke and Nicky Law.
Stephen McLaughlin equalised for Southend with 15 minutes remaining.
But City grabbed a late winner from the penalty spot.
Ryan Leonard was sent off for a second booking, and Wyke netted from the resultant spot-kick.
City boss Stuart McCall said: “After 75 minutes, I would probably have shaken hands on a 1-1 draw.
“But we did it at Wigan and won in the last minute and we’ve done it again.
“There’s a good belief and momentum when we come away from home.
“We’ve got a lot of pace in the side and sometimes it suits us to play away from home when teams come on to us.”
City team: Sattelmaier, McMahon, Knight-Percival, Kilgallon, Robinson, Gilliead, Vincelot (c), Law, Taylor, Poleon, Wyke. Subs: Raeder, Thompson, Reeves, Dieng, McCartan, Hendrie, Patrick.