The scoreline barely reflected the hosts' dominance as they comfortably recorded their first clean sheet of the season in a one-sided contest at the Etihad Stadium.
There may have been some nerves with only Kolarov's fifth-minute free kick to show for their first-half efforts, but the Black Cats were then overrun as they slipped to their first loss of the season.
Aguero came off the bench to add the second goal on the hour and Milner fired a free kick through Simon Mignolet after 89 minutes.
Just as pleasing for City will have been its defensive solidity, which it rediscovered without its backline linchpin and captain Vincent Kompany, who was ruled out with a calf injury.
Sunderland had former City winger Adam Johnson in their side hoping to make a point, but the England international was unable to make an impression.
City took the lead after Tevez was crudely brought down by Carlos Cuellar on his first attack.
The Argentinian had broken clear but was felled by a late tackle on the edge of the box and referee Lee Probert brandished the yellow card.
The City supporters felt it should have been red but they did not complain for long as Kolarov stepped up to curl a superb free kick past Mignolet at the near post.
Kolarov and Mario Balotelli had both wanted to take the free kick.
Not for the first time this season, Balotelli was earmarked for some testing treatment by defenders but, although playing within himself, dealt with it well.
The Italian held off a challenge to shoot over but was later clumsily brought down by Craig Gardner and was unlucky not to get a free kick.
City went close to a second as a Tevez shot was deflected into Pablo Zabaleta's path but Mignolet -- making amends for any fault on his part for Kolarov's goal -- saved at point-blank range.
Tevez drove the ball back across goal after it found his way back to him but Zabaleta was unable to turn it in.
Balotelli then won a free kick on the edge of the box after being caught in the face by Gardner's boot.
Kolarov took aim once again but his effort was deflected behind for a corner, perhaps with a suspicion of handball, by Sebastian Larsson.
Balotelli curled an effort wide and felt he should have had another free kick after clashing with John O'Shea.
City started the second half well with Toure cutting inside and forcing Mignolet to palm over.
A chance fell to Richards from the resulting corner and his shot at the second attempt was cleared off the line by Rose.
Sunderland finally began to apply some pressure but a powerful header by Fletcher, which brought a fine save from Joe Hart, was ruled offside.
Kolarov then produced a fine tackle to deny Johnson a clear run on goal.
That served to shake City back into life and a sliding Balotelli was inches away from diverting a Kolarov cross toward goal.
Richards then brought a good diving save out of Mignolet with a powerful header from a Milner cross.
The second goal finally came as Aguero -- on moments earlier for Balotelli, much to the Italian's disappointment -- raced to the near post to turn in a vicious Kolarov ball from six yards.
That effectively signaled the end for Sunderland.
Silva played in Tevez, who drove narrowly wide, and then roles were reversed as the Argentinian rounded Mignolet to set up the Spaniard, whose sublime chip hit the bar.
Barry tried his luck but Gardner headed away before Richards again saw a chance blocked on the line in a crowded penalty area.
Richards was wild with an attempted overhead kick moments later and Toure was narrowly off-target with a long-range effort.
City threatened again after another slick move involving Richards, Aguero and Tevez but O'Shea managed to foil them.
Yet City would not settle for two and Milner whipped in a free-kick from the left of the box that took a slight deflection off the head of Gardner to evade Mignolet's grasp.