Defender Cheikhou Kouyate’s second-half goal gave West Ham the lead, but Blind volleyed home a 92nd-minute leveller from the edge of the area.
Luke Shaw was sent off after the equaliser for a second bookable offence, but the result means Louis van Gaal’s side have lost just once in 17 games in all competitions.
Manchester United had not lost away from home since a 1-0 defeat by neighbours Manchester City in early November, while West Ham had lost just once at Upton Park since August.
David de Gea was forced into action by Enner Valencia twice in quick succession, first parrying a 25-yard drive out for a corner, and then denying the Ecuadorian from close-range with an acrobatic save.
When James Tomkins lost Phil Jones at the far post from another cross, De Gea had to save well with his feet from the defender’s free header from eight yards.
West Ham took the lead four minutes into the second half after a fine piece of skill from Kouyate. The Senegal international brought the ball down from a free-kick, turned with another fine touch and fired into the net.
Manchester United then decided to up the ante, and Radamel Falcao had a fine chance to equalise in the 78th minute, but he could not lift the ball over Adrian after being put through on goal by Robin van Persie.
Van Persie himself broke through minutes later, but his powerful low drive was blocked well by Adrian as Van Gaal’s side pushed for an equaliser.
At the other end, West Ham should have had the points wrapped up late on only to be denied by the impressive De Gea again from Mark Noble’s close-range drive.
Van Gaal introduced Marouane Fellaini with just under 20 minutes remaining, and the Belgian immediately caused problems for West Ham.
First, his shot on the turn was saved turned wide well by Adrian, and then the midfielder was involved in the equaliser.
After Fellaini headed the ball down Marcos Rojo’s long delivery into the box, Blind finished on the volley from 18 yards with his left foot into the corner through a crowded penalty area.
Shaw was deservedly sent off after the equaliser for bringing down Stewart Downing, his second bookable defence.
West Ham: Adrian (7), Jenkinson (7), Tomkins (7), Kouyate (8), Cresswell (7), Song (7), Noble (7), Nolan (6), Downing (6), Sakho (7), Valencia (7)
Subs: Jarvis (5)
Man Utd: De Gea (8), Valencia (5), Jones (5), Rojo (6), Shaw (4), Blind (7), Rooney (5), Di Maria (3), Januzaj (4), Van Persie (4), Falcao (4)
Subs: Fellaini (7), Smalling (5)
Man of the match: Kouyate
Sign in to watch highlights of West Ham v Manchester United here.