Erling Haaland struck again as Manchester City ensured their unbeaten Premier League home run would stretch past two years with a laboured 1-0 defeat of Southampton.