Rodri’s first-half header proved the decisive goal, after Phil Foden had cancelled out John McGinn’s first-minute opener. Villa briefly had a man advantage after John Stones was sent off on the stroke of half-time, only for Matty Cash to receive two yellow cards in quick succession soon after the restart.
The victory means City go 11 points clear at the top of the league with just five games to play, though second-placed Manchester United have a game in hand.
Having seen his side’s quadruple dream ended by Chelsea in the FA Cup semi-final on Saturday, Pep Guardiola made eight changes to his starting lineup, with Phil Foden, Riyad Mahrez, Ilkay Gundogan and Ederson among those recalled.
However, it was Villa who got off to the dream start as Ollie Watkins took advantage of a Stones error to tee-up McGinn inside 20 seconds.
City hit back through the in-form Foden, who swept home from Bernardo Silva’s cross at the end of a slick move that had started with goalkeeper Ederson.
Bernardo was the creator for the second, too, dinking a cute cross into the middle which Rodri got to ahead of Emi Martinez to flick into a gaping net.
No sooner had they taken the lead, however, than City were reduced to ten men, referee Peter Banks upgrading Stones yellow card to red after viewing his high tackle on Jacob Ramsey on the pitchside monitor.
Dean Smith looked to take advantage of the extra man by throwing on a second striker, Keinan Davis, at the break, but Cash twice fouled Foden and was soon following Stones down the tunnel.