Middlesbrough's Darren Randolph makes a save.
The home side had taken a first half lead through forward Rudy Gestede, and a better second half performance saw Dael Fry head home into his own net in injury time, only to see the goal disallowed for offside.
Blades boss Chris Wilder named the same starting eleven which had beaten Brentford on the opening day of the season. The only change was to introduce Ched Evans to the substitute’s bench - replacing Caolan Lavery.
The early exchanges saw very little between either side, although the Blades saw a couple of half chances go their way. Freeman was able to pull the back for Clarke, but his effort was blocked and Fleck almost found a way through but Fry remained strong to cut out any danger.
Boro's first opportunity at goal saw Bamford fire a free-kick sky high from 25 yards, but on 20 minutes they found the net. Forshaw hooked the ball into the box and as Blackman came to collect, Basham was first to head, but GESTEDE reacted quickest to head the ball over the keeper and into the net.
Middlesbrough grew stronger, and following a corner, Clayton's deep delivery saw Friend unmarked at the far post but Coutts was able to clear for another corner. Boro remained on top with half-time drawing closer. Gestede rose above Basham from Christie's cross but the striker's header struck the post, and from another effort, Bamford fired wide from the edge of the box.
The second half saw both sides win corners in the opening minutes but the first sight of goal saw Howson fire over from 25 yards.
The midfield was seeing enough of the ball but was not able to find a way through a strong Boro defence. Duffy replaced Carruthers on 57 minutes as Wilder made his first tactical change of the evening. He was involved in patient build up to create a chance five minutes later. A low Stevens cross found Coutts via a Clarke pass, and his controlled effort looked like finding the net until keeper Randolph palmed away.
Evans replaced Sharp on 68 minutes and he quickly came into life, firing wide of the near post as United grew stronger in possession. Boro however remained a constant threat and on 74 minutes Blackman kept out Christie's effort.
United's third and final switch saw Brooks replace Freeman, meaning a slight chance in formation for the final ten minutes. United carried on in search for an equaliser. As full time approached, Clarke's saw his cross blocked, and from the follow up, Randolph saved his shot at the near post.
Injury-time saw United win a dangerous free-kick, after O'Connell was fouled by Christie. From Duffy's delivery, O'Connell challenged and under pressure, Fry headed into his own net. As United celebrated the linesman waved for offside.
The final whistle was blown with United feeling hard done by.
Middlesbrough: Randolph, Friend, Gibson, Clayton, Assombalonga (Fletcher 79), Bamford, Howson, Fry, Christie, Forshaw (Leadbitter 84), Gestede (Baker 68). Unused: Dimi, Fabio, Roberts, Traore.
Sheffield United: Blackman, Stevens, Fleck, O'Connell, Basham, Clarke, Sharp (Evans 68), Coutts, Freeman (Brooks 79), Stearman, Carruthers (Duffy 57). Unused: Lundstram, Wright, Lafferty, Eastwood.