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 on the hour and Milner fired a free-kick through Simon Mignolet after 89 minutes.
Just as pleasing for City will have been their defensive solidity, which they rediscovered without their backline linchpin and captain Vincent Kompany, who was ruled out with a calf injury.
Micah Richards made a surprise return from an ankle injury in his place while Joleon Lescott was also restored to the defence.
Yaya Toure took over as skipper, playing alongside Gareth Barry in midfield, while Carlos Tevez and Mario Balotelli started up front.
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 their 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.
Not for the first time this season, Mario 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 did win 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.
David Silva was clipped by Danny Rose but the referee played advantage and the Sunderland defender got back to prevent a Milner cross reaching Balotelli.
Barry drove wide as City continued to push and Sunderland's best efforts amounted to ineffective shots from James McClean and Steven Fletcher.
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 towards 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 signalled the end for Sunderland but City wanted more for their dominance.
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 they would not settle for two and Milner whipped in a free-kick from the left of the box which took a slight deflection off the head of Gardner to evade Mignolet's grasp.