Pep Guardiola will mark his first season in English football with a return to Wembley, where he won the Champions League with Barcelona in 2011.

The Manchester City manager will have more troubled afternoons than Middlesbrough could muster. Guardiola and his players cantered to the capital and an FA Cup semi-final place.

That did not stop the delight or the celebration afterwards, but a goal in each half, from David Silva and then Sergio Aguero did not tell the story of a one-sided game at the Riverside Stadium. Only wayward finishing and an excellent display from Brad Guzan stopped a rout. By the finish, those players in blue were queuing up to extend the two goal margin.

Middlesbrough 0 Manchester City 2 player ratings Show all 22 1 /22 Middlesbrough 0 Manchester City 2 player ratings Middlesbrough 0 Manchester City 2 player ratings Brad Guzan – 8 out of 10 Made several vital saves and was under constant pressure throughout. Kept Boro in it at times. Middlesbrough 0 Manchester City 2 player ratings Antonio Barragan – 5 out of 10 Struggled against the pace of Sane, which resulted in a number of City chances. Middlesbrough 0 Manchester City 2 player ratings Bernardo Espinosa – 5 out of 10 Was replaced just after the interval due to injury. Had a mediocre first half at the back. Middlesbrough 0 Manchester City 2 player ratings Ben Gibson – 6 out of 10 Held the shape well, but looked out-classed by the quality of the City strike force. Middlesbrough 0 Manchester City 2 player ratings Fabio – 7 out of 10 Continued to charge up the pitch and had the confidence to go for goal when the opportunity arose. Middlesbrough 0 Manchester City 2 player ratings Marten De Roon – 5 out of 10 Saw very little of the ball, but when he got the chance he did cause problems for the City defence. Middlesbrough 0 Manchester City 2 player ratings Adam Clayton – 6 out of 10 Pumped deliveries up the field and attempted to create a lot of chances, but it did not always go his way today. Middlesbrough 0 Manchester City 2 player ratings Grant Leadbitter – 4 out of 10 His temper let him down today. He was crashing into unnecessary challenges, not how a skipper should play. Middlesbrough 0 Manchester City 2 player ratings Adama Traore – 6 out of 10 His build-up play is promising, but he always seems to lack the final product. Physically, he is excellent. Middlesbrough 0 Manchester City 2 player ratings Rudy Gestede – 5 out of 10 Had to be subbed in the early stages due to injury. Prior to that, he was dominating in the air. Middlesbrough 0 Manchester City 2 player ratings Cristhian Stuani – 5 out of 10 Failed to follow his man when marking defensively, which resulted in Boro loosing shape and looking unorganised. Middlesbrough 0 Manchester City 2 player ratings Claudio Bravo – 5 out of 10 Had very little to do today, with little threat going forward from Boro. Middlesbrough 0 Manchester City 2 player ratings Pablo Zabaleta – 7 out of 10 Defended well, but looked even better going forward. His assist to open the scoring was impeccable. Middlesbrough 0 Manchester City 2 player ratings John Stones – 6 out of 10 Read the game well from the back. Also made a crucial goal-line clearance in the latter stages of the game. Middlesbrough 0 Manchester City 2 player ratings Nicolas Otamendi – 6 out of 10 Boro lacked threat going forward, which helped him do his job with such ease at the back. Middlesbrough 0 Manchester City 2 player ratings Gael Clichy – 6 out of 10 Worked well with Sane on the left and supplied an outlet for the attacking players. Middlesbrough 0 Manchester City 2 player ratings Yaya Toure – 7 out of 10 The 33-year-old was in cruise control today. His vision, passing and ability to read the game allowed him to run the game from the middle. Middlesbrough 0 Manchester City 2 player ratings Raheem Sterling – 6 out of 10 The Boro defence were struggling with his speed and deliveries into the danger zone. Middlesbrough 0 Manchester City 2 player ratings Kevin De Bruyne – 7 out of 10 Was a key element to almost every City move. He was pumping balls into the feet of the wingers and this was opening up the Boro back four. Middlesbrough 0 Manchester City 2 player ratings David Silva – 7 out of 10 Another top display from the Spaniard. His goal opened the scoring, but arguably he should have had three or four goals today. Middlesbrough 0 Manchester City 2 player ratings Leroy Sane – 8 out of 10 His speed and skill caused endless issues today for Boro, especially Barragan. His assist sealed the second goal and it’s a shocked he’s not on the scoresheet himself. Middlesbrough 0 Manchester City 2 player ratings Sergio Aguero – 6 out of 10 Aside from his goal, it was a relatively quiet display from Aguero. However, scoring is his job and he did that today.

CIty’s lead came early, and it was remarkably simple. Yaya Toure lifted the ball down the right handside, to Pablo Zabaleta, who fired a low cross into the heart of the home penalty area. Raheem Sterling, its intended target, missed the ball and in doing so allowed it to carry through to David Silva and the Spanish forward stabbed the ball past Brad Guzan with the outside of his left foot.

The clock read two minutes and eight seconds and Middlesbrough’s noisy supporters gulped. Their side had scored just nine goals all year before the visit of Guardiola’s men but the FA Cup had offered solace during that run. That at least offered hope. Indeed all of their victories in 2017 (not to mention seven of those nine goals) had come in the competition.

Pep Guardiola's first season in English football will include a trip to Wembley (Getty)

The decisive goal for the visitors would come, but not until midway through the second half. Before then it was largely one way traffic, but the home side could reflect on two opportunities that had caused consternation.

Midway through the first half, Grant Leadbitter’s left wing corner found the head of Rudy Gestede and Claudio Bravo in the City goal could only parry the ball to his left, where it struck Zabaleta on the goal line and the visiting captain hacked clear.

The aerial route looked the most likely to unsettle Manchester City and in the 37th minute Marten de Roon crossed from the right this time and Alvaro Negredo, on for the injured Gestede headed powerfully and Bravo parried then saved.

David Silva tapped in from close range to give Pep Guardiola's men the lead (Getty)

That was as troubled as City would be.

Just past the half hour mark, Sterling’s low cross found Leroy Sane but the finish, from close range, was weak and easy for Guzan. Silva would do the same, in the 38th minute, with Guzan this time saving to his left. The lead should have been doubled again in the 42nd minute. Kevin de Bruyne’s right wing free-kick was perfect for Toure but the free header went narrowly wide and the player berated himself for the miss.

The second half became an onslaught. There was simply no respite for either Karanka or his team. It was simply a matter of time until the game clinching second came. In the 48th minute Toure again chipped a ball down the right, De Bruyne crossed, Sterling missed it and Silva smashed over the crossbar.

Few opportunities fell the hosts' way, with thier guests comfortable from the first whistle (Getty)

Guzan then tipped an Aguero clipped shot from a Sterling cross onto the post and seconds later Zabaleta shot wide. Sane was denied by the feet of the Middlesbrough keeper in the 62nd minute and two minutes later Guzan was again at full stretch, this time to tip a Silva shot around his post.

By now it was relentless.

Sane’s curling, left footed shot was tipped away by Guzan until finally, in the 67th minute, the same player crossed from the left and Aguero stole in ahead of Fabio to finally beat Guzan.

Aguero fired past Brad Guzan to all but end the contest (Getty)

The chances kept coming. Aguero saw a shot parried by Guzan, the Middlesbrough goalkeeper then stopped from Silva and then in the 80th minute Sterling cut inside Ben Gibson and through he had scored with a left foot shot, only for Guzan to deny City once more, this time to his left.

That had Guardiola sinking to his knees, but victory was still his and he will return to Wembley.

Middlesbrough (4-1-4-1): Guzan; Fabio, Bernardo (Fry 51), Gibson, Barragan; Clayton; Traore, de Roon, Leadbitter (Ramirez 66), Stuani; Gestede (Negredo 26).

Subs not used: Valdes, Fischer, Forshaw, Husband.

Manchester City (4-1-2–3): Bravo; Zabaleta, Stones, Otamendi, Clichy; Toure (Fernando 86); De Bruyne, Silva; Sterling, Aguero (Iheanacho 90), Sane (Nolito 70).

Subs not used: Caballero, Kolarov, Delph, Fernandinho.