Fulham managed to hold off City until the second half but they struck three times in 13 minutes to secure the victory which helped them move 17 points clear of Manchester United at the summit.
Aguero stepped up and calmly drove the ball into the corner of the net and past Alphonse Areola from the penalty spot after former City defender Tosin Adarabioyo fouled Ferran Torres to seal the three points.
Fulham continued their momentum from last Sunday's win at Liverpool in the early stages but were quickly punished after a slow start to the second half, despite having conceded just two goals in their previous seven league matches.
Manchester City looked the dominant side they have been this season as they continue to close in on the title, bouncing back with successive victories since their 21-game winning streak was brought to an end by derby rivals United at the weekend.
Fulham started brightly and aimed to play in Ademola Lookman behind the Manchester City back-line with long balls. The 23-year-old was found by Ivan Cavaleiro inside the first four minutes and drove towards goal but he was flagged offside.
However, it was the league leaders who had the first real chance of the game, with Areola called into action as he spread himself to deny Torres an opener with his legs.
Scott Parker's decision to not play a recognised striker appeared to have catch up with Fulham during the first half when they were able to get forward but the final ball was lacking and options looked limited.
City took the lead in the 47th minute when Stones was left unmarked and he tapped home a well-weighted Cancelo free-kick from the left.
Less than 10 minutes later, Pep Guardiola's side doubled their advantage after a fortunate rebound.
Joachim Andersen's attempt to clear the ball hit team-mate Cavaleiro and the ball rebounded behind the Fulham defence and into the path of Jesus, who had enough time and space to round Areola before slamming the ball in the back of the net.
The visitors then added a third to their tally on the hour when Adarabioyo dawdled in possession before tripping Torres in the area and referee Andre Marriner pointed to the penalty spot.
Aguero fired the ball into the bottom left corner of the goal for his first Premier League goal since January 2020 to all-but seal the three points.
Fulham tried to get back into the game and substitute Josh Onomah came closest when Aleksandar Mitrovic fed the ball to the midfielder, who got a shot away but it was deflected wide of the target by a last-ditch challenge from City defender Aymeric Laporte.