It is the first time Man City have won their first three matches of a Premier League campaign since their first season under Pep Guardiola, in 2016/17.
For a long time it looked like it wouldn't be their day despite them having 30 shots, their most in a Premier League match since May 2022.
It was his first spot-kick miss in his eighth such attempt in the Premier League, and it ended a run of 13 successful penalties dating back to April 2021.
Wes Foderingham made two brilliant saves to deny both Haaland and Alvarez but the Sheff Utd goalkeeper was finally beaten in the 63rd minute, when Jack Grealish delivered a pinpoint cross to the back post for Haaland to head in his third goal of the season, a joint-PL lead.
Haaland has now scored nine goals in eight Premier League appearances against promoted clubs, and has netted against 18 of the 21 clubs he has appeared against overall in the competition.
However, Sheff Utd threw a spanner in the works late on, with Jayden Bogle scoring an 85th-minute equaliser. Kyle Walker was careless in possession and Sheff Utd made him pay, recycling the ball back across goal for Bogle to smash in.
But Walker redeemed himself just three minutes later, doing superbly to keep a loose ball in play before substitute Phil Foden set up Rodri to score a late winner, arrowing a left-footed shot into the far corner with his fifth shot, the most he's ever had in a Premier League match.
Sheff Utd tried to rally again but were unable to find an equaliser as City became the early pacesetters in the title race. The Blades remain winless in three matches since their Premier League return.
Guardiola was not at the match as he continues his recovery from back surgery, but it was City's 200th Premier League win in their 269th match under the Spaniard. He is only the sixth manager to reach that landmark in the competition, and the fastest to do so.
Cash stars on landmark appearance
Twelve minutes later, Cash, on his 100th appearance for Villa, struck again at the back post, firing in from Diaby's assist. It was the earliest a Villa player has scored twice in an away match since 2011.
But Diaby restored Villa's two-goal lead shortly after the hour, with Villa's other wing-back, Lucas Digne, setting him up for a sweeping finish.
It made Diaby the first Frenchman to be involved in three Premier League goals in his first three appearances since Anthony Martial in September 2015.
Villa's second win of the season puts them seventh, with six points, while Burnley are 18th and one of four teams without a point.