Chelsea were at their wasteful worst on Tuesday as they fell to a 1-0 defeat to Middlesbrough in the first leg of the Carabao Cup semi-final.
Cole Palmer missed three great chances in a first half which saw Hayden Hackney tap home from close range to ultimately inspire the hosts to victory.
Chelsea dominated possession and controlled the stats sheet, but Mauricio Pochettino's side undoubtedly failed the eye test in what was a wasteful performance that lacked any form of creativity or inspiration.
How the game unfolded
Boro came out the gates with real energy and caused a few moments of panic in the opening stages, but early injuries to Emmanuel Latte Lath and Alex Bangura derailed the hosts' momentum and allowed Chelsea to take control of possession.
Cole Palmer stung Thomas Glover's palms early on and Levi Colwill headed well over the bar thirty minutes in, but the first real chance of the game came shortly after when Palmer picked up a loose pass from Jonny Howson, only to drag his effort wide of the post.
Against the run of play, Boro took the lead. A long ball over the top sent Isaiah Jones in behind Colwill and the winger's cut-back was gleefully tapped home by Hackney.
In stoppage time, Enzo Fernandez's tame strike from range was inexplicably spilled by Glover into the path of Palmer, who somehow failed to control his point-blank effort and skied his strike over the bar, keeping Boro ahead at the break.
Noni Madueke headed comfortably into Glover's hands to start the second half, before Conor Gallagher's stretching volley trickled wide of the post.
Chelsea continued to push for an equaliser but the quality on the ball was just so poor. The Blues' shots were tame, their passes weak and their dribbles aimless as Boro simply sat deep and allowed their rich visitors to shoot themselves in the feet.
That was the story for the rest of the game, with Chelsea aimlessly searching for the goal their play did not deserve.
Middlesbrough player ratings (3-4-3)
GK: Thomas Glover - 6/10 - Made the tough things look easy and the easy things look tough. Fortunate not to be punished but also a number of big saves when Boro needed him most.
CB: Rav van den Berg - 7/10 - A little shaky playing out from the back but did his job defensively. Kept Sterling very quiet.
CB: Dael Fry - 7/10 - Another who did his better work without the ball. A composed defensive showing under plenty of pressure.
CB: Lukas Engel - 8/10 - A monstrous performance. Absolutely everywhere on the pitch and comfortable both defending and attacking.
RM: Isaiah Jones - 7/10 - Energetic and dangerous down the right. His energy was too much for Colwill. Bagged the assist for the opener.
CM: Daniel Barlaser - 8/10 - A really nice showing. Absolutely controlled the midfield battle against Fernandez and Caicedo.
CM: Jonny Howson - 6/10 - Classy on and off the ball. Marshalled his defence nicely.
LM: Alex Bangura - 6/10 - Lively down the left but was forced off injured midway through the first half.
RW: Matt Crooks - 6/10 - Tucked inside a lot to create extra problems just as a body. Pretty quiet but his presence alone was impactful.
ST: Emmanuel Latte Lath - N/A - Picked up an injury inside the first minute and limped off shortly after.
LW: Hayden Hackey - 7/10 - Buzzed around on the wing and deeper in midfield. Pressed Fernandez and Caicedo with real efficiency and made the difference with a tidy finish.
Substitutes
SUB: Josh Coburn (5' for Latte Lath) - 5/10 - Looked tired and struggled to lead the line in isolation.
SUB: Matt Clarke (19' for Bangura) - 7/10 - Busy defensively but happy to do the dirty work.
Subs not used: Jamie Jones (GK), Lewis O'Brien, Law McCabe, Bryant Bilongo, AJ Bridge, Calum Kavanagh, Alex Gilbert.
Manager
Michael Carrick - 7/10 - Boro overcomplicated things at times but Carrick ultimately accepted his side were the weaker of the two and that willingness to sit deep proved pivotal. Very impressive considering the shock of the early injuries.
Chelsea player ratings (4-2-3-1)
GK: Djordje Petrovic - 6/10 - Couldn't do a whole lot about Hackney's opener in an otherwise quiet outing.
RB: Malo Gusto - 6/10 - Very lively down the right side. Clearly tried to make things happen, which is more than you can say for most of his teammates.
CB: Axel Disasi - 5/10 - A few nervy moments but Disasi was generally fine. Expected a better performance against what was supposed to be inferior opposition.
CB: Thiago Silva - 4/10 - Caught miles out of position for Hackney's opener and left Colwill out to dry. Not acceptable from one of the few players with real experience.
LB: Levi Colwill - 4/10 - Another example that Colwill is not a full-back. Made a mistake early on and struggled up against a direct winger in Jones.
DM: Moises Caicedo - 4/10 - Completely outplayed by Boro's midfield. Didn't do anywhere near enough defensively but was pretty quiet in attack as well.
DM: Enzo Fernandez - 2/10 - Saw plenty of the ball but did very little with it. This guy won a World Cup, by the way. Something about this relationship with Pochettino isn't working.
RM: Noni Madueke - 4/10 - Well below his recent standards. Was often double-marked by Boro's defence and struggled to cope with that.
AM: Conor Gallagher - 3/10 - Totally out of this one. Couldn't get involved in midfield, started the second half in attack and ended up at the base of midfield as Pochettino desperately searched for a solution.
LM: Raheem Sterling - 4/10 - Had the very odd flash of quality but was otherwise out of this game.
ST: Cole Palmer - 4/10 - Can't fault the work rate but Palmer clearly left his shooting boots in London. Should've had a hat-trick in the first half before disappearing in the second.
Substitutes
SUB: Armando Broja (63' for Fernandez) - 5/10 - Really struggled to get involved.
SUB: Mykhailo Mudryk (63' for Madueke) - 3/10 - Name a more iconic duo than Mudryk and running into dead ends. I'll wait.
SUB: Alfie Gilchrist (90' for Gusto) - N/A
Subs not used: Marcus Bettinelli (GK), Lucas Bergstrom, Michael Golding, Dylan Williams, Deivid Washington,.
Manager
Mauricio Pochettino - 2/10 - What was this? What was this supposed to be? Pochettino set his side up with nothing and changed very little as the game ticked on.