Manchester United got a draw against Swansea City, so everything was set for a big Manchester City win against Middlesbrough that would put them in third place in the table, two points above Liverpool and three points clear of United. They just needed to beat the worst attack in the Premier League, a team very close to relegation.
But Manchester City don't do easy. They like to suffer, they like to disappoint, and they did it again with a 2-2 draw at the Riverside Stadium on Sunday. Pep Guardiola's team played badly, had to come from behind twice, and while they control their own destiny in the Top 4 race, they cannot afford any slip-ups.
They'll slip, won't they?
Guardiola surprised us all with a very different lineup, resting Yaya Touré, playing with a back three of Nicolas Otamendi, Vincent Kompany and Aleksandar Kolarov, starting young Aleix García in midfield alongside Fernandinho, Jesús Navas and Gaël Clichy as wing-backs and Kevin De Bruyne playing behind Sergio Agüero and Gabriel Jesus, who started together up top for the first time all season.
City had a very quick start, with a great possession play ending with Sergio Agüero putting in a low cross that Gabriel Jesus nearly touched home, and the Sky Blues could have scored in the first minute. They continued to dominate possession and forced Boro to defend very deep in their own territory, and both Navas and Clichy had plenty of space on the wings. But the biggest problem of the first half became clear once the two wing-backs had the ball: they couldn't provide any service to Agüero or Jesus.
Middlesbrough adjusted tactically and doubled up on the wing-backs, and that change combined with Navas and Clichy playing badly put immense pressure on the midfield to create everything. Fernandinho had a poor afternoon and gave the ball away at multiple times, while Aleix García limited himself to passing the ball sideways and backwards, not threatening his opponents at any time. De Bruyne was easily contained by Boro's central midfielders, and City were stuck.
At the same time, Boro began to go forward and threaten the City defense with Stewart Downing and Alvaro Negredo giving Caballero some trouble, and Marten De Roon could gave given the hosts an unlikely goal after a corner, but sent his shot over the bar. Boro haven't been clinical all season, but they looked ready to pounce on any City mistake.
Pep Guardiola made a tactical adjustment of his won at the end of the half, changing to a 4-4-2 system with Otamendi at right-back and De Bruyne moving to the left wing, while Clichy became a left-back and moved into midfield to help Fernandinho and García in the buildup. Otamendi created City's best chance with a wonderful cross to Gabriel Jesus, but the Brazilian headed the ball wide.
City improved in the final minutes of the first period and sent bodies forward again looking for the goal, but Boro took advantage and after a great counter-attacking run by Downing, former City man Alvaro Negredo scored a very good goal to put his team ahead at halftime.
Guardiola wasted very little time and subbed Raheem Sterling and Leroy Sané into the game to add pace and skill on the wings. City stayed in the 4-4-2 formation, but had more threat on the flank and better service to the two strikers. Kevin De Bruyne moved into central midfield alongside Fernandinho, and City began to pressure.
It became a siege. City completely occupied Boro's half and sent a barrage of crosses and deep passes into the box, and goalkeeper Brad Guzan along with center-backs Callum Chambers and Ben Gibson became busy and had to make plenty of blocks to try and keep City from scoring. The visitors should have had a penalty when Downing handled the ball inside the box, but referee Kevin Friend ignored the handball.
City eventually did get a penalty when Leroy Sané was brought down by De Roon in the box, and Sergio Agüero had no problem converting the spot kick and equalized for City. The Sky Blues looked set to come back and get the winner, but then their defense happened.
After a Boro set piece, City had multiple chances to clear the ball away from danger but couldn't, and when Negredo was surrounded by four City players inside the box trying to get the ball away from him, Chambers was somehow left alone, and he took the rebound from Negredo's attempted shot and beat Caballero to put the hosts ahead with 15 minutes to go.
Boro wanted to defend the result and got almost every player behind the ball and parked the bus to try and avoid another City equalizer. But the pressure was too big, and eventually the Blues scored when Agüero's cross met Gabriel Jesus, who headed the ball away from Guzan and into the back of the net. There are bad news for City as Agüero limped off with a groin injury and might miss the rest of the season depending on the severity of the problem.
The final minutes of stoppage time featured more pressure from City, but there were plenty of desperate attempts and no clear ideas, and Boro eventually held on to a draw that doesn't give them much of a chance of escaping relegation, but gives them confidence and hope that maybe it's possible.
For City, the job is simple: win the final four matches. That is the only way they can guarantee a place in the Champions League next season. They just cannot afford another slip-up, otherwise we'll see them in the Europa League.
If we play like we did today, though, there's no way we'll win the final four games. Just no way.
Middlesbrough: Guzan; Fábio, Chambers, Gibson, Friend; De Roon, Clayton, Forshaw; Stuani (Traoré), Negredo (Gestede), Downing
Goals: Negredo (38'), Chambers (77')
Man City: Caballero; Otamendi, Kompany, Kolarov; Navas, Fernandinho, A.García (Sané), Clichy (Sterling); De Bruyne; Agüero (Nolito), G.Jesus
Goals: Agüero (69'), Gabriel Jesus (85')