They have lost only once in a dozen games since promotion and stunned Southampton with two goals in the first 17 minutes.
Irish winger Ivan Sproule was involved in both, the second a spectacular solo effort.
Ticked off from the bench in the first minute for failing to chase a half chance, in the fourth he forced Jhon Viafara into giving away a corner.
Marvin Elliott, who settled into an outstanding game in City's midfield, got his head to Michael McIndoe's lofted cross following the short corner and another ex-Millwall signing Darren Byfield got the final touch.
Sproule's goal began with a run in from the right which took him past three defenders, before he fired an accurate shot wide of Kelvin Davis' right hand.
City's crisp football was matched, but often from the back foot, by Southampton.
With Andrew Surman sparking raids from his midfield role, they looked good up to the 18-yard line but in the first half had to settle for a Surman miscue in front of goal and an overhead effort from Jason Euell which flew just wide.
City had lost their captain, Louis Carey, with a facial injury after 25 minutes but with Jamie McCombe deputising at centre-back the changeover was seamless.
While City had dominated the first half the second was taken over by Southampton after manager George Burley made a tactical change by sending on Inigo Idiakez.
The switch paid off almost at once as a defensive mistake by Jamie McAllister let Idiakez in. McAllister, falling back, put the ball into his own net under pressure from Bradley Wright-Phillips.
City's Brazilian keeper Adriano Basso made a brave save from Wright-Phillips with Saints now well on top.
Two more saves followed quickly and then with tensions high in injury time the Saints had Youssef Safri sent off after a fracas with Lee Johnson.