Haaland has been remarkably prolific since his £51 million ($58 million) move from Borussia Dortmund in the close-season and he struck again in the second half at Villa Park.
The Norway striker's 10th goal in his first six Premier League games gave him a share of 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 blistering 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.
After their 3-3 draw against Newcastle in August, this was the second time they had failed to take maximum points.
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 battling display that should ease the pressure on under-fire boss Steven Gerrard for a few days at least.
Kyle Walker wasted a golden opportunity to put City ahead inside four minutes as the right-back blazed over from Ilkay Gundogan's pass after a flowing move cut through the Villa defence.
Kevin De Bruyne was back in the City line-up in place of Julian Alvarez after the Belgium star was rested for the 6-0 rout of Nottingham Forest.
De Bruyne announced his return with a long-range blast that fizzed just wide before unfurling a sublime pass that Gundogan flicked narrowly off target.
With Guardiola's men camped in the Villa half, Ollie Watkins almost caught them on the break as he glided into the City area and shot past the far post.
Held without a single shot on target in the first half, City finally broke through five minutes after the interval.
Once again, it was Haaland who did the damage and De Bruyne who provided the assist.
Haaland had only touched the ball 10 times before the latest example of his predatory instincts.
Taking possession wide on the right flank, De Bruyne curled a brilliant cross to the far post, cutting out Villa keeper Emiliano Martinez, who could only watch helplessly as Haaland volley home from close-range.
De Bruyne was City top scorer in the league with 15 goals last season and Haaland is already closing in on the total.
Although City 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 Martinez, while De Bruyne crashed a free-kick off the bar.
But City's rare failure to turn territorial dominance into a resounding victory came back to haunt them with 16 minutes left.
Villa tenaciously won a series of challenges to pen City in before Jacob Ramsey whipped over a cross that Bailey volleyed past Ederson with superb technique for his first league goal in over a year.
The Holte End erupted as Gerrard punched the air before trying to control his emotions on the touchline.
Villa were controversially denied a winner when Philippe Coutinho curled home, only for an offside flag to disallow the effort, which couldn't be checked by VAR because the referee's whistle was blown before the shot.
Rodri was agonisingly close to winning it for City in the closing moments when he rifled a low drive narrowly wide.
اخلاء مسئولية! : هذا المحتوى لم يتم انشائة او استضافته بواسطة موقع اخبار الكورة و اي مسؤلية قانونية تقع على عاتق الموقع مصدر الخبر : بي ان الرياضية  , يتم جمع الاخبار عن طريق خدمة ال RSS المتاحة مجانا للجمهور من المصدر : بي ان الرياضية  مع الحفظ على حقوق الملكية الخاصة بمصدر الخبر.