The Blades put in a hard-working display, keeping the hosts honest, but goals from Rodri and Julián Álvarez on either side of half-time secured the points for Pep Guardiola’s side.
Sheffield United made five changes to their starting 11 for the match. Anel Ahmedhodžić and Gustavo Hamer were absent due to suspension, while James McAtee was ineligible. Strikers Oli McBurnie and Cameron Archer were relegated to the bench, and Jayden Bogle, Luke Thomas, Ollie Norwood, Anis Slimane, and Will Osula were introduced into the lineup.
Manchester City: Ederson, Walker (Lewis 67), Ake, Kovacic (Rúben Dias 67), Grealish (Bobb 51), Rodri, Alvarez, Bernardo Silva, Gvardiol, Akanji, Foden.
Unused: Ortega, Phillips, De Bruyne, Gomez, Nunes, Hamilton.
Blades: Foderingham, Baldock, Trusty, Thomas (Norrington-Davies 90), Norwood, Robinson, Bogle, Souza, Slimane (Brewster 67), Osula (Archer 67), Brooks (Osborn 80).
Unused: A. Davies, McBurnie, Traore, Osborn, Larouci, Seriki.
In the early stages, the first chance of the match went to the home side as Álvarez’s effort from the edge of the area fizzed wide following Foden’s lay-off. At the other end, Norwood’s attempted cross nearly caught Ederson off guard, holding the ball just under his crossbar, and Osula’s burst forced Aké to clear under pressure.
Despite a solid start from the Blades, City found a breakthrough on 14 minutes. Phil Foden’s attempted control under pressure from Vini Souza resulted in a loose ball that Rodri seized, driving forward and finishing low into the bottom corner.
City continued to create chances with Álvarez heading over and Foden slipping in Bernardo Silva, whose low effort was saved by Foderingham’s fingertips. The Blades grew in confidence as the half progressed, frustrating City boss Guardiola, who was booked for dissent. United created opportunities, with Robinson picking out Bogle, whose cross was met by Osula, deflecting wide for a corner.
Osula continued to trouble City, prompting a yellow card for Kovačić on 43 minutes. Just before the break, Bogle’s strike from 20 yards following a cleared corner was held by Ederson.
Shortly after the restart, City were forced into the first change as Jack Grealish made way for Oscar Bobb. In the opening 10 minutes of the second half, the hosts almost added a second goal when Foden ran clear, but Foderingham was quick off his line to deny him. There was a let-off for United when Bogle lost the ball deep in his own half, leading to a Álvarez strike that went well wide.
City increased the pressure, and on the hour mark, they scored a second goal. Sub Bobb played the ball into Foden, whose low center was tapped home by Alvarez from close range.
Both teams made a double change on 67 minutes, with Archer and Rhian Brewster replacing Osula and Slimane for United, while Kovačić and Kyle Walker made way for Rúben Dias and Rico Lewis.
Álvarez had an opportunity to add to his goal on 72 minutes when he charged down Foderingham’s clearance, but the ball deflected over the bar.
United made a third change 10 minutes from the end, with Ben Osborn replacing Andre Brooks.
In the final two minutes, Archer broke the offside trap, pulled the ball back for Bogle, whose shot was blocked. Bogle was then cautioned for a foul as he stopped a City break.
The game concluded on a positive note for United when Rhys Norrington-Davies made his first appearance in 14 months, coming on to replace Thomas for the final few moments of the contest.