Middlesbrough kept their chances of automatic promotion from the EFL Championship alive, defeating Sheffield United 3-1 at Bramall Lane.

Despite the defeat, their first since November 8th, the Blades sit seven points clear of third-place Boro and also have a game in hand on Michael Carrick's men.

The win, which saw a second-half brace from Cameron Archer give  Middlesbrough all three points after Chuba Akpom had cancelled out Oli McBurnie's opener, gives the Teesiders hope heading into the season's final two months.

Sheffield United saw manager Paul Heckingbottom sent off after protests over Boro's third goal which came after referee Andre Mariner had waved play on despite a clear foul on James McAtee.

Story of the match

Middlesbrough had the first real chance of the evening as Archer played a neat one-two with Ryan Giles and his shot tested the palms of goalkeeper Wes Foderingham.

The save led to a counterattack by Sheffield United and a long throw-in from the touchline by FA Cup hero John Egan found McBurnie and he nodded home from close range.

From a rebound, McAtee had an opportunity to increase the Blades' lead only to see Zack Steffan save and he denied Iliman Ndiaye on the angle.

Akpom, the Championship's leading scorer, looked to add to his tally as the visitors broke through the midfield, but his 20-yard effort was blocked.

Tommy Smith was booked following a trip on McAtee and soon after a dummy by Marcus Forss gave Riley McGree the chance to lay the ball back to him in the penalty area, but he could only fire over the crossbar.

Smith then tried his luck from the corner of the area opting for power only to flash his drive over the crossbar.

Middlesbrough did find an equalizer as Akpom picked up the ball from Forss inside the penalty area and after getting past Anel Ahmedhodzic, the Boro number 29 fired past Foderingham into the corner.

The contest then went back-and-forth as McBurnie curled wide before Ndiaye and Jayden Bogle drew saves out of Steffen. At the other end, Foderingham saved from Akpom and prior to that McGree shot into the side netting.

At the start of the second half, the visitors went in front. Oliver Norwood robbed Giles of possession on the edge of the area with a sliding tackle, but the ball fortuoistly fell to Archer, who finished.

He nearly added to his tally shortly after, breaking free of the Sheffield United defense but Ahmedhodzic recovered to turn the ball out for a corner.

Steffen was kept busy as following a delightful pass by McBurnie to Ndiaye, the Manchester City loanee saved then followed up by keeping out Ahmedhodzic's shot with his legs.

Giles then flew one over the bar before a timely intervention by Jonny Howson denied McBurnie after substitute Daniel Jebbison had the initial chance.

On 74 minutes, Boro extended their advantage. A strong tackle by Dael Fry saw an overload created in the middle of the Sheffield United and a fine pass by Hayden Hackney found Archer inside the area and he slipped the ball into the corner.

Steffen was alert to a low shot by Jebbison, turning behind with his left hand and Carrick made a double change shortly after, bringing on Matt Crooks and Aaron Ramsey in place of Forss and Archer.

Ben Osborn was introduced by the Blades and Steffen saved Jebbison's shot before he fired over from the resulting corner.

In stoppage time, which saw Alex Mowatt come on for Boro, Giles flashed over and Egan's header from Osborn's free-kick was the last action of note.

Player of the match: Marcus Forss

Brilliant in the build-up play that led to Middlesbrough's equalizer, beating his defender and setting up Akpom. His tackle in the middle of the park led to the counterattack for Boro's third. His performance was dazzling.