Read below to see how the action unfolded at the Riverside Stadium.
Hello, and welcome to Sports Mole's live coverage of the FA Cup quarter-final between Middlesbrough and Manchester City.
The FA Cup has been going since last summer but finally, we have reached the nitty-gritty stages of the competitions. Lincoln City and Sutton United have made the competition what it is this season but we still have to have the top teams participating too and that's exactly what we have got this afternoon. It may not seem the most attractive game but with what is at stake, it's huge for both clubs.
Some will argue that Pep Guardiola is placing priority on the Premier League and Champions League but make no mistake about it, he wants a trophy this season and this is his best chance of achieving one. As for Middlesbrough, they have been desperately poor in the Premier League in 2017 but this tournament has provided them with some light relief and Aitor Karanka will be aware of what victory today would do for his struggling side.
Anyway, it's time for team news and I really couldn't predict how either team will line up. I best bring you both teams and substitutes to see what you think...
MIDDLESBROUGH XI: Guzan, Barragan, Bernardo, Gibson, Fabio, Clayton, Leadbitter, De Roon, Stuani, Traore, Gestede
MIDDLESBROUGH SUBSTITUTES: Valdes, Husband, Fry, Forshaw, Fischer, Ramirez, Negredo
MANCHESTER CITY XI: Bravo, Zabaleta, Sterling, Aguero, De Bruyne, Sane, Silva, Clichy, Stones, Otamendi, Toure
MANCHESTER CITY SUBSTITUTES: Caballero, Fernando, Nolito, Kolarov, Delph, Fernandinho, Iheanacho
Let's start with Middlesbrough, with Karanka making four alterations to the team which suffered defeat at Stoke City last weekend. Goalkeeper Brad Guzan makes his third FA Cup appearance of the season with Victor Valdes dropping to the bench, while Cristhian Stuani is preferred to Gaston Ramirez. George Friend and Daniel Ayala are also absent, meaning that Antonio Barragan and Bernardo Espinsoa are brought into the team.
Guardiola has decided to make just the five changes from the goalless draw with Stoke City on Wednesday night. I thought it would be more. Claudio Bravo replaces Willy Caballero between the sticks, while Pablo Zabaleta, John Stones, David Silva and Raheem Sterling all start. Bacary Sagna, Aleksandr Kolarov, Fernandinho and Jesus Navas are the players who miss out. Navas isn't even on the bench, although I did notice he was visibly unhappy with his substitution at the Etihad Stadium in midweek. Maybe Guardiola has acted on that.
Remaining on Guardiola's team selection, I thought that he may rotate all 11 players who featured in midweek. I've covered the majority of City's matches over the last few weeks and against Stoke, they looked tired. With AS Monaco in mind on Wednesday night, I thought that the likes of Fernando, Fabian Delph, Nolito and Kelechi Iheanacho would all be given an opportunity to impress at the Riverside Stadium but Guardiola has decided to persist with many of his star players. With the rest of the season in mind, I don't think it's the right call, but who am I to doubt a manager like Guardiola...
HEAD TO HEAD! Today's contest represents the 128th time in which these two teams have faced each other in a competitive fixture, with City holding the slight edge with 50 wins to 49. It's been half-a-dozen matches since City registered a convincing triumph over Boro, though, Middlesbrough have won three and drew one of the last six, and have only suffered 1-0 defeats. They are also unbeaten in the last two fixtures between the two sides.
The remaining three FA Cup quarter-finals are staggered over the next few days but we will have them all for you. Be sure to follow our coverage of the match between Arsenal and Lincoln City later today, with our coverage getting underway at 4.30pm, GMT. Tomorrow, we will have the London derby between Tottenham Hotspur and Millwall before this stage of the tournament concludes with the mouthwatering showdown between Chelsea and Manchester United on Monday evening.
Going back to Lincoln, we were fortunate to have the chance to speak with their manager Danny Cowley earlier this week. It would make for the perfect pre-match reading material. Click here to read our in-depth interview which covers his - and his team's - remarkable few months.
This isn't the first time that these two sides have faced each other this season. Back in November, Middlesbrough made the trip to the Etihad Stadium and appeared to be on their way to defeat thanks to an Aguero goal. However, one of their summer signings popped up with a dramatic equaliser to earn a potentially huge point. Click here to read our match report from that game.
We haven't touched upon the route which both teams have taken to reach the last eight but it's fair to say that Middlesbrough have enjoyed a very favourable draw. Today's match represents their fourth successive home tie, with their opponents in the previous rounds being Sheffield Wednesday, Accrington Stanley and Oxford United. They have still had to go out there and get the job, and with some second-string players too, but today is the first time where they won't be favourites to progress. In their last 10 matches against top-flight opposition, they have failed to win and scored just three times. You get the feeling that it will take something special to earn a result against City today.
PREDICTION! After the last post, we can't really back anything other than a Manchester City win. We don't see City running away with this because as we have already mentioned, very few of their players can be 100% after playing on Wednesday night but we think they will have enough to run out comfortable winners. We are going for a 2-0 scoreline.
It's time for the two teams to make their way out at the Riverside Stadium. There are a few empty seats but not in the away end. City have travelled in their numbers.
Middlesbrough get us underway.
GOAL! Middlesbrough 0-1 Manchester City (Silva)
Middlesbrough look absolutely terrible at the back and they are already behind. This doesn't bode well. Toure's floated pass to Zabaleta is volleyed into the penalty area and although Sterling scuffs his shot, the ball falls perfectly for Silva to convert from close range.
I said in my prediction that I don't see City running away with this. Can I change my mind please? The home team are sitting deep and look focused on trying to frustrate their opponents but it isn't going to work.
In all fairness, Middlesbrough have had the odd flurry forward but it's the amount of time they are gifting City on the ball which is the problem. City are basically being allowed to do what they want.
Since the goal, there has not been any more chances, which suits Boro. Aguero has receives a couple of kicks, including a nasty one to his calf, but he appears to have shaken them off.
Sane should be doing better from there. De Bruyne released the German international and once he got ahead of his marker, he was away. However, despite advancing into the penalty area and running towards goal, he opted to try a pass rather than shoot and he was unable to find Aguero.
There's not much of an atmosphere at the Riverside Stadium, although the home side aren't giving their fans much to shout about. That said, the longer it remains at 1-0, they are still in the tie.
SHOT! Better from Middlesbrough, who are able to bring Gestede into play and he heads the ball down for De Roon. However, he rushes his half-volley from 20 yards and it goes nearer the corner flag than the goal.
CHANCES! Middlesbrough have finally figured out how to play! They are so unlucky not to be level. A corner is met by Gestede, but his header is prevented from finding the net by a combination of Bravo and Zabaleta. If Zabaleta wasn't there, Bravo has fumbled the ball into the net. The ball came back into the area but on this occasion, Gestede headed marginally over the bar.
SUBSTITUTION! Gestede was starting to have a huge influence on this game but he has had to be substituted after pulling a muscle. Karanka looks frustrated. On comes City old boy Alvaro Negredo.
Middlesbrough's immediate goal threat has gone with Gestede to the changing rooms. City are back into their groove now, spraying the ball about for fun in all areas of the pitch and making their opponents run.
CHANCE! Sane is having one of those games. He should score from no more than eight yards out but he completely scuffs his shot and it rolls through to a grateful Guzan. Just before that, Silva almost teed him up at the near post after being given the freedom of the penalty area.
CHANCE! Another headed chance for Middlesbrough. Traore, who has been quiet, jinks past two players before teeing up De Roon to cross to the back post for Stuani. He makes good connection with his header but it is too close to Bravo.
CHANCE! City go straight up the other end in numbers and they probably should double their lead. However, after being found by Aguero, Silva takes too much time and his deflected shot is saved by Guzan.
CHANCE! This has developed into a decent match. Toure is the next player to waste a chance after meeting a De Bruyne free kick, instead sending his near-post header wide of the post.
BOOKING! Leadbitter goes into the book for a late challenge on De Bruyne. It's not his first iffy tackle of the match.
There will be two minutes of added-on time.
HALF TIME: Middlesbrough 0-1 Manchester City
The half-time whistle goes at the Riverside Stadium and City lead thanks to that early goal from Silva. They should have netted again but that said, they can count themselves fortunate not to have conceded. Boro started poorly but they have grown into the game. Don't rule them out just yet.
The two teams are making their way back out in the North-East. Neither manager has made a change.
City get us back underway.
CHANCE! City should be two goals to the good. In what is effectively a replica of the first goal, Toure, Sterling and Silva are all involved and aside from Silva scoring, they all repeat what they did in the third minute!
SUBSTITUTION! Another injury for Middlesbrough, with Bernardo being forced off. On comes Dael Fry, who is making just his second appearance in a Boro shirt.
WOODWORK! Within a minute, Fry loses Aguero when the ball is fired into the penalty area but his close-range effort strikes the post and Boro are able to clear. It's some save from Guzan, who gets the smallest of touches.
It feels only a matter of time until City score a second. They are throwing men forward in search of another goal, one which would probably allow Guardiola to make the necessary changes in order to rest players ahead of the AS Monaco trip.
Tensions are threatening to boil over. Stuani has caught Sterling in the face with a flailing arm and Otamendi has thrown himself to the floor after minimal contact from De Roon, who wasn't best pleased.
CHANCE! Sane hasn't had one of his better games but Middlesbrough can't handle his pace. He surges into the penalty area and has the chance to shoot from a tight angle, but Guzan remains big and stops the ball sneaking inside the near post.
SAVE! Guzan comes in for his fair share of criticism but he is responsible for keeping Middlesbrough in this match. Silva has a chance to shoot from inside the penalty area but his shot, which is destined for the bottom corner, is tipped wide.
SAVE! Another save from Guzan, this time from Sane. The winger looked to curl the ball into the far corner from 20 yards but the American got across to parry wide.
SUBSTITUTION! Third and final change for the home side, with Gaston Ramirez replacing Leadbitter.
GOAL! Middlesbrough 0-2 Manchester City (Aguero)
Game over. Sane to Aguero is becoming an effective partnership. The winger's low cross picks out the run of Aguero and he can't really miss from six yards out. City are heading through to the quarter-finals.
SUBSTITUTION! It's time for Guardiola to tinker with his team. Sane is the first man to make way with Nolito coming on in his place.
SHOT! Aguero wants a second and his long-range effort is saved, but fumbled, by Guzan. Sterling taps home on the rebound but he is wrongly adjudged to be offside.
CHANCE! Middlesbrough have effectively given up here. Silva has all the time in the world to find the bottom corner from 12 yards out but his shot is deflected into Guzan's reach.
CHANCE! Middlesbrough have a second effort cleared off the line! A counter-attack ends with the ball being played into the path of Fabio but his header is prevented from finding the bottom corner by Stones.
SAVE! Guzan has probably had his best performance in England today. That's not an exaggeration. He pulls off another terrific save to prevent Sterling netting a third for City, although the winger should be scoring from 12 yards.
BOOKING! De Roon becomes the latest Middlesbrough player to receive a booking. He has been playing on the edge all game so it doesn't come as a surprise.
SUBSTITUTION! Another change for City, with Fernando coming on for the final few minutes in place of Toure.
SUBSTITUTION! Guardiola opts to bring Kelechi Iheanacho for the three minutes of added-on time. Aguero makes way.
FULL TIME: Middlesbrough 0-2 Manchester City
The full-time whistle goes at the Riverside Stadium and City have comfortably confirmed their place in the last four. Goals from Silva and Aguero did the job but they were rarely troubled by Middlesbrough, especially in the second half.
That will be all from Sports Mole for this match. Thank you for joining us this afternoon and we hope that you can stick around for the remainder of the matches which we have coming up. Goodbye for now.