Arsenal won 4-1 at Sunderland and Liverpool prevailed 4-2 at Crystal Palace, but City's win kept Pep Guardiola's side above them both on goal difference as they ended a six-game winless run.
"When we lose there are always doubts," said Guardiola. "It's the first time I have not won in six games. Always you have doubts, (but) not over the principles."
Jose Mourinho was sent to the stands and Ander Herrera dismissed as Manchester United drew 0-0 at home to Burnley despite having 37 shots at goal, while champions Leicester City drew 1-1 at Tottenham Hotspur.
Aguero was among the players who returned to City's starting line-up at The Hawthorns and his first-half brace effectively settled the game.
Also Read
He broke the deadlock in the 19th minute, slamming a shot between Ben Foster's legs from Gundogan's pass, and doubled his tally nine minutes later with a stunning shot from the edge of the box.
The goals ended Aguero's six-game scoring drought and lifted his City tally to 149 -- one more than club great Francis Lee.
"We need Sergio," said Guardiola, who dropped the Argentina striker for City's 4-0 defeat at Barcelona. "He is one of the best."
Arsenal had earlier strolled to victory at bottom club Sunderland, who are now seven points from safety and without a win after 10 league games.
Alexis Sanchez put Arsenal in front in the 19th minute with a header from an Alex Oxlade-Chamberlain cross.
Jermain Defoe equalised from the spot in the 65th minute after Petr Cech was booked for impeding Duncan Watmore.
The France striker struck again five minutes later, a looping header from Mesut Ozil's corner, and Sanchez completed the scoring two minutes after that with a neat close-range finish.
Disclaimer: No Business Standard Journalist was involved in creation of this content