After an entertaining yet goalless first half, City's captain Kompany headed home his first league goal since August 2015 following two injury-ravaged seasons.
City's array of attacking talents had been well-marshalled by Southampton until Leroy Sane, unlucky to have a first-half penalty appeal waved away, converted Kevin de Bruyne's pass to finish a superb counter attack in the 77th minute.
Sergio Aguero headed home a third three minutes later to seal an impressive away win for Pep Guardiola's side.
With six games remaining City have 64 points, one more than fourth-placed Liverpool, who visit West Bromwich Albion on Sunday. Southampton, meanwhile, sit safely in mid-table with 40 points from 31 games.