The hosts missed numerous chances in the game and were made to pay for their profligacy in front of their faithfuls at the Riverside stadium. Aguero played really well.
David Silva scored the opener for Manchester City in the 3rd minute after a defensive gaffe by the home side.
Middlesbrough tried all they could to restore parity before the break, but the Citizens would thank Ivorian star Yaya Toure who blocked a straight shot that would have resulted to a goal.
The visitors continued to press hard in the second half before Sergio Aguero eventually netted the second and winning goal for Manchester City in the 67th minute.
Manchester City manager Pep Guardiola will now hope to take his wards to the final and probably win the title.