Andy Liddell's sweetly-struck free-kick put the Blades ahead in the first-half but Alan Quinn was sent off just before half-time, with Forest's Andrew Impey joining him late on for a second booking as the game ended with an unseemly fracas in the United box.
Forest brought in star defender Michael Dawson for his first start of the season as a late deputy for Jon-Olav Hjelde, who suffered a calf strain.
Dawson almost scored an own goal in the third minute when Liddell's angled shot struck the post but rebounded goalwards off the defender. However, the England Under-21 player was able to hook the ball off the line.
The home side should have been two goals up by the sixth minute but Quinn dragged a right-foot shot wide after a lucky ricochet allowed him to advance into the box.
A stinging drive from Johnson after 12 minutes was then superbly blocked by Nick Montgomery, who flung himself into the path of the ball.
An incisive break infield by Danny Cadamarteri was brought to an abrupt end by a late Impey tackle 25 yards from goal, for which the former QPR man was booked. The resulting free-kick yielded the first goal as Liddell drilled a low set-piece home from 25 yards beyond the reach of Paul Gerrard.
Joe Kinnear's side were agonisingly close to a leveller when the Blades failed to clear a Forest set-piece. The ball pinged around the box before it broke to Marlon King 15 yards out and he lashed a volley against the foot of Paddy Kenny's left-hand post in the 32nd minute. The game took an unsavoury turn as first Paul Evans was booked for going through the back of Quinn, and the latter was then sent off for kicking out at Dawson while the pair were on the ground, with Dawson booked for his part in the 42nd-minute incident.
There was plenty of needle now and the half-time whistle was greeted by a chorus of boos.
Forest made a change at half-time, with Kris Commons replacing Gregor Robertson and Alan Rogers dropping back to left-back.
The second half began in the same vein as the first ended and Evans was given a final warning by referee Graham Salisbury after hauling down Michael Tonge.
Salisbury incurred the wrath of the home fans again by booking Leigh Bromby for time-wasting at a throw-in.
Kinnear decided to send Dawson up front, bringing on youngster James Perch for Eoin Jess but the opportunities were still going United's way, Cadamarteri drilling a right-foot shot just wide of Gerrard's near post as he raced on to Liddell's cutback with 17 minutes to go.
Forest came close when a corner from the left was met by a powerful downward header by Perch, but the effort was scrambled off the line and behind by the United defence.
The equaliser did come with five minutes left though as King was afforded enough space to shoot on the half-turn, Kenny parried and the loose ball fell to Johnson six yards out, who made no mistake. Tonge let fly with a right-footer from 35 yards in response but Gerrard made sure he got behind it, and Forest headed back down the M1 with a point, but not before Commons went down in the box under a heavy challenge, with no penalty given. United thought it was a dive, Forest thought otherwise and fisticuffs ensued, with Impey given his marching orders to end the game on a sour note.