Erling Haaland scored the only goal of the game as Manchester City produced a stylish atttacking performance and then a determined defensive effort to beat Tottenham 1-0.