The Bosnia striker was selected ahead of Alvaro Negredo by City boss Manuel Pellegrini for the tussle at Old Trafford and was on the scoresheet after just 42 seconds.
United’s defence was in disarray as Fernandinho passed left for Samir Nasri, and although the Frenchman’s shot hit the post, the lurking Dzeko netted from close range.
It took at least 15 minutes for the hosts to settle but even before the half-hour mark, both Danny Welbeck and Marouane Fellaini were somewhat fortunate to only receive yellow cards for challenges on Pablo Zabaleta – particularly the Belgian, who appeared to elbow the City full-back.
Juan Mata passed up a great chance to equalise towards the end of the first half, but it took just 11 minutes after the restart for Dzeko to score again for City.
He timed his run brilliantly to beat Rio Ferdinand and connect with a corner from Nasri, the ball flying past David de Gea.
United could not find a response and were punished even further when Yaya Toure snaked in a third in the 90th minute.
David Moyes’ men slip 15 points behind their near neighbours in the table, after suffering a sixth home league defeat of the campaign. Title contenders City now lie just three points behind leaders Chelsea, with two games in hand.
Moyes made four changes to the team that won 2-0 at West Ham. Ferdinand returned after a back injury, while Patrice Evra, Welbeck and Tom Cleverley also started. Dropping to the bench were Alex Buttner, Darren Fletcher, Shinji Kagawa and Ashley Young. Antonio Valencia was also among the substitutes; there was no sign of Nani or Adnan Januzaj, however.
Following City’s 5-0 home win over Fulham on Saturday, Pellegrini also made four changes. Vincent Kompany was free to skipper the side again after suspension, and Gael Clichy, Jesus Navas and Dzeko lined up alongside him. Joleon Lescott, Alexander Kolarov, James Milner and Negredo were benched.
In his programme notes, Moyes said United were not as far behind City in terms of quality as the table suggested – but that theory was shot to bits in the opening minute.
Toure sliced open the home defence to find David Silva, who would have put City ahead had it not been for a decisive intervention from Rafael. If United thought the trouble had passed, then they were wrong. The cleared ball fell to Fernandinho, who found Nasri in acres of space in the box. The Frenchman’s shot beat a stationary De Gea and the ball fell to Dzeko, who was left with the simplest of tap-ins.
For the rest of the opening quarter, United simply could not get hold of the ball. Silva penetrated the defence but fluffed his shot from 12 yards. Dzeko slid the ball across the box, but Rafael was there to intercept again.
Silva snuck in behind the United back four again and squared for Dzeko, who placed his shot towards the bottom right-hand corner, but De Gea stuck out a hand and saved.
Joe Hart was twice called into action, but only to save weak shots from Wayne Rooney and Fellaini.
Fellaini then blotted his copy book by elbowing Zabaleta. He was lucky to get away with a booking.
On 40 minutes, Rafael’s low cross missed Rooney before finding the feet of Mata – only for the Spaniard to blaze his shot over the bar.
Moyes brought on Kagawa for Cleverley at the break but it had no effect on the game.
Fernandinho headed over from six yards, but Dzeko made no such mistake soon after. Ferdinand was left in Dzeko’s wake as Nasri’s corner came into the box and he steered the ball past De Gea.
United threatened through Welbeck, whose backheel was saved by Hart from point-blank range.
After a flurry of substitutions, Toure drove the ball beyond De Gea from 16 yards to wrap up the win in the final minute.