Middlesbrough’s play-off aspirations took a major hit at Millwall as they lost 1-0 in the capital, with two major flaws ultimately exposed.

As Boro ultimately struggled for quality in the final third, particularly in a dominant first-half performance, they then succumbed to substitute Camiel Neghli’s goal. Not for the first time, an opposition manager’s changes had a huge influence on the game before Michael Carrick decided to turn to his.

Defeat meant Boro dropped to eighth, as West Brom’s victory moved them up on goal difference. More importantly, with four games remaining, Bristol City pulled four points clear with a draw at QPR, while Coventry City have an excellent opportunity at Hull City on Monday night, after what felt like a damaging day for Boro and Carrick.

The Boro boss did make one change from the side that lost to Leeds United on Tuesday evening. After being ironically cheered off by his own supporters, Kelechi Iheanacho was moved to the bench, with Morgan Whittaker rewarded for his recent impacts from the bench with his first start since last month’s defeat to Swansea City.

With just three points separating the two sides ahead of it, Boro were looking to rebound from their midweek defeat while consolidating their top-six aspirations. They knew they were in for a test against the in-form Lions though, with the Den never a friendly place to visit.

After falling behind early in midweek, Boro were very nearly behind inside two minutes again. Conceding an early free-kick out wide, defender Tristan Crama outjumped his marker to meet the cross. His header ended up well over the bar in what was an early warning to Boro.

It served as a wake up call for Carrick’s side. They slowly settled into the game and managed the early Millwall momentum before taking control of proceedings. Interestingly, despite the personnel change, the Boro boss left things unchanged in terms of starting position. Whittaker was a direct replacement for Iheanacho behind Tommy Conway.

Boro’s attack was fluid and they were playing some nice stuff in the first half. Samuel Iling-Junior’s positive Boro form continued as he had plenty of freedom to attack the left wing as Finn Azaz floated inside. But by way of clear-cut chances, Boro were just struggling to find that killer pass or cross, with a little misfortune of things not quite dropping for them either.

There were 21 minutes on the clock before they had their first real effort at goal. A half-cleared Iling-Junior cross fell to Hackney. Despite having the time, he snatched at his effort and sent it wide of the near post. When Anfernee Dijksteel ran through a couple of challenges 20 minutes later, he teed Whittaker up for a decent opening, but the January addition just couldn’t sort his feet and his effort ended up tame and easy to save.

All square at the break, there were plenty of positives for Boro, but they hadn’t made their positive play count for a lead. It remained there to be won for either side.

Millwall put the home side under the cosh from the start of the second half and Boro were fortunate to stay level. After conceding a sloppy wide free-kick, it ended up falling kindly for half-time sub Macaulay Langstaff. As the Teessider went to pull the trigger, Howson made a last-ditch tackle to deny him. The home side pleaded for a penalty but Howson and Boro were let off the hook.

Boro were struggling to compose themselves after the restart though. In a panicked five minutes or so after the restart, they also had Mark Travers to thank. He made a fantastic reaction save, getting down low and diving back in the direction he’d come from to stop George Honeyman’s header going in.

While Millwall tails remained up, Boro appeared to be getting through the storm again, much like the first half. One counter attack that came to nothing appeared to remind the hosts that they couldn’t over-commit to attack. But having made the change at the interval, Alex Neil made three changes on 57 minutes and had the desired impact within eight minutes.

Femi Azeez went on to Millwall’s right wing and immediately started causing problems. On 65 minutes got in behind Dijksteel and crossed with power. So much so that Van den Berg was unable to shape his body to in any way clear the ball. Instead, it bounced off his thigh and fell straight to another sub in Neghli, who produced a calm finish through the bodies.

At the other end, Boro were struggling to find that final ball. Carrick made his first subs immediately following the Millwall goal, with Marcus Forss and Riley McGree replacing Burgzorg and Whittaker.

Boro eventually regained their control in the match, albeit with the caveat that Millwall had retreated with their lead to protect. Boro continued to battle to try and find a way back into it, but with Millwall more and more compact, they began to run out of ideas. In the end, that lack of cutting edge was the difference with Boro unable to find an equaliser.

A Marcus Forss chance at the death was well-saved by Lukas Jensen in the closest they came all afternoon. A defeat that draws Millwall level on points with them, West Brom also won to move level, while Bristol City drew to move three points clear. Coventry City travel to Hull City on Monday evening with a chance to extend their lead to five points.

Boro will look towards their first-half dominance and leave frustrated they couldn’t make more of it. Their final-third quality was ultimately lacking. Not for the first time, opposition changes without any from Carrick in response proved costly too. His in-game management has often come under the microscope this season, and the latest story of it ultimately leads to what feels a damaging day for Boro and their head coach.

Middlesbrough FC news straight to your phone on WhatsApp

Finn Azaz of Middlesbrough scores the opening goal and celebrates

Did you know that you can get daily Boro news sent straight to your device as soon as it happens through WhatsApp?

It's quick and easy to join. Just click this link and select 'Join Community' to get started.

Your information will be hidden, you'll only ever receive messages from the Teesside Live sports team, and you can leave any time you like. To leave our community click on the name at the top of your screen and choose 'Exit group'. If you’re curious, you can read our Privacy Notice.

Alternatively, you can also follow our WhatsApp Gazette Boro channel too, for all the latest Boro news and opinion.