Leon Bailey scored his fifth league goal of the campaign, surpassing his tally from 2022-23
Villa were superior throughout against the lacklustre champions, who have now gone four Premier League games without a win for the first time in more than seven years.
City once again missed the influence of the suspended Rodri, having lost their last five games when the Spaniard has been unavailable, but nothing must detract from an outstanding Villa performance which confirmed their stunning development under the management of Unai Emery.
Villa were fearless going forward from the outset, with City keeper Ederson making two fine early saves from Pau Torres and Bailey, while opposite number Emi Martinez did superbly to deny Erling Haaland twice in quick succession.
City lacked composure and were ran ragged at times, and the Villa breakthrough came 16 minutes from time when Bailey's shot from the edge of the area took a touch off Ruben Dias as it looped beyond the helpless Ederson.
The win moves Villa, who have now won 14 consecutive home Premier League matches, into third place in the table, while City are six points adrift of leaders Arsenal.
-- Courtesy of BBC Sport