Goals from David Silva and Sergio Aguero gave Manchester City a deserved win over Middlesbrough and earned Pep Guardiola’s side a place in the FA Cup semi-finals. Silva scored just three minutes in from six yards out after Pablo Zabaleta had time and space to cross low from the right.

Middlesbrough goalkeeper Brad Guzan produced a number of fine saves to deny Silva, Leroy Sane and deflect an Aguero shot on to the post. But Aguero finally made the result safe for the visitors when he converted from Sane’s low cross to earn his side a Wembley semi-final.

City have reached the last four of the FA Cup for the first time in four years as Guardiola aims to win some silverware in his first season in English football.

The Spanish manager also had the luxury of taking off Sane and Aguero before City play the second leg of their last-16 Champions League tie in Monaco on Wednesday. City hold a 5-3 lead after a thrilling first leg.

City had defeated West Ham, Crystal Palace and Huddersfield Town so far in the competition and completely dominated against Middlesbrough.

The visitors had 69% of possession and 10 shots on target compared with only three from the hosts at a packed Riverside Stadium. City’s movement off the ball was excellent as they repeatedly carved open a Boro defence that could not cope with the visitors.

Poor marking enabled Zabaleta to get free early on and his low cross was missed by Raheem Sterling before Silva lashed City ahead.

Only an outstanding performance by Guzan kept his side in it as he produced a number of saves to frustrate the visitors.

Aguero, who had earlier hit the post, got a goal he deserved when he finished well from the delivery from the excellent Sane.

Graphic showing how nine players were involved in Manchester City’s opening goal against Middlesbrough The build-up to David Silva’s third-minute goal started with a throw-in on the right wing. The ball was played to the opposite flank, then back to the right side before Silva finished off a well-worked move. Nine City players were involved in the goal.

For Middlesbrough, 18th in the Premier League, it was another afternoon to forget. Not only were they outclassed, they also suffered two injuries to key players as forward Rudy Gestede and defender Bernardo limped off.

Gestede had two attempts – heading just over and also having a header cleared off the line by Pablo Zabaleta – before going off after only 26 minutes with what appeared to be a lower back injury.

Boro have scored the fewest goals in the Premier League – 19 in 27 matches – and may now be without a striker who only joined them in January in a £6m move from Aston Villa.

Defender Bernardo also went off early in the second half with 19-year-old centre-half Dael Fry coming on to make only his second appearance of the season.

Boro, against the run of play, had a late chance to score but John Stones cleared off the line after goalkeeper Claudio Bravo had parried Fabio’s header.

With 11 Premier League games left, Boro can now focus their attentions on trying to stay in the top flight.