Manchester City eased into the FA Cup semifinals as they produced a dominant display to win 2-0 at Middlesbrough.
City were on top from the opening moments, with Boro sitting deep and seeing very little of the ball, and needed just three minutes to go in front.
The goal came when Pablo Zabaleta was left all alone to fire a low cross into the area, and although Raheem Sterling was unable to get the important touch David Silva was in the right place to fire in from close range.
Boro tried to respond and, with 15 minutes on the clock, Adama Traore set off on a run down the right only to balloon a poor cross out of play.
They were nearly made to pay when Kevin De Bruyne linked up with Leroy Sane, whose low ball in from the left was too far in front of an unattended Sergio Aguero.
But Boro gave their visitors something else to think about after 23 minutes when Rudy Gestede headed goalwards from a corner, Claudio Bravo parried and the ball bounced away off Zabaleta, who was almost on the line.
The striker headed just over the bar soon afterwards but had to come off when he took a knock in the back and was replaced by Alvaro Negredo.
City came close to adding to their lead 10 minutes before the break as David Silva saw a deflected effort saved by home keeper Brad Guzan before Yaya Toure thumped a header wide from an inviting De Bruyne free kick.
Five minutes after the break Silva was almost on the mark again when he fired over from a De Bruyne cross, and Aguero came even closer when his flick from a Sterling pass hit the far post after a touch off Guzan.
Boro boss Aitor Karanka was forced into another change when the injured Bernardo Espinosa was replaced by youngster Gael Fry, and his side were finding it increasingly difficult to make any meaningful headway.
Shortly after the hour mark they were again grateful to Guzan, who tipped a low Silva strike around the post as Pep Guardiola's side sought the second goal that would all but secure their passage into the last four.
The Boro keeper did it again when he dived to push a Sane strike wide, but after 67 minutes he was beaten for a second time when Sane produced another dangerous cross and Aguero swept home from six yards.
Traore created a rare second-half chance for Boro when his cross found Fabio, whose header was kept out by a combination of Bravo and John Stones, before Sterling was thwarted by Guzan at the other end.