Haaland goal streak continues but Man City are held as Bailey rescues Villa
Haaland has been prolific since his £51 million ($58 million) move from Borussia Dortmund in the summer, and he struck again in the second half at Villa Park.
The Norwegian's 10th goal in his first six Premier League games makes him the joint-fastest to hit double figures, sharing the record with Micky Quinn, who hit the same tally for Coventry in 1992.
But Pep Guardiola's side were punished for failing to build on their lead as Leon Bailey's finish left the champions frustrated.
It was the first time this season City had failed to score more than once in a game, after netting 19 times in their opening five matches.
Unbeaten City sit in second place, above Tottenham on goal difference and one point behind leaders Arsenal, who play their game in hand at Manchester United on Sunday.
Villa are outside the relegation zone on goals scored after a display that should ease the pressure on manager Steven Gerrard.
- The Early Action -
Kyle Walker wasted a golden opportunity to put City ahead inside four minutes as the right back blazed over from Ilkay Gundogan's pass.
Kevin de Bruyne announced his return to the starting 11 with a long-range blast that fizzed just wide before playing a sublime pass that Gundogan couldn't convert.
With Guardiola's men camped in the Villa half, Ollie Watkins almost caught them on the break, firing his shot past the far post.
- Ruthless Haaland -
Once again, it was Haaland who did the damage and De Bruyne who provided the assist.
The striker had only touched the ball 10 times before the latest example of his predatory instincts, netting midway through the second half.
Taking possession wide on the right flank, De Bruyne curled a brilliant cross to the far post for Haaland to volley home from close range.
The Belgian was City's top scorer in the league with 15 goals last season and Haaland is already closing in on that total
Although the visitors were controlling possession, their slender lead gave Villa hope and Bailey threatened an equaliser when his 20-yard drive whistled wide.
Haaland never stopped searching for another chance to add to his tally and he was twice denied by Emiliano Martinez, while De Bruyne crashed a free-kick off the bar.
But City's rare failure to turn territorial dominance into goals came back to haunt them with 16 minutes left.
Villa won a series of challenges to pen City in before Bailey converted a Jacob Ramsey cross to score his first Premier League goal in over a year.
Officiating decisions proved to be controversial again, as Villa were denied a winner when Philippe Coutinho curled home, only for an offside flag to wrongly disallow the effort, which couldn't be checked by VAR because the referee's whistle was blown before the shot.