We emerged from the interval with a spring in our step and took the lead after 50 minutes, as Haaland tapped in his tenth goal of the campaign at the back post from Kevin de Bruyne's teasing cross.
The Belgian came close on two occasions to doubling the lead, but his powerful free-kick clipped the crossbar and his outside foot effort swerved just wide of the post.
The hosts equalised with just over 15 minutes remaining through Leon Bailey, who swept in Jacob Ramsey's cross.
Steve Gerrard's side remained resolute to deny City a victory, with Emiliano Martinez saving well form Phil Foden's late effort.
View the best images from Villa Park via our gallery below.