Kevin Nolan's injury-time strike secured West Ham a hard-earned point and condemned Sunderland to their fourth consecutive Barclays Premier League draw.
Steven Fletcher's fourth goal in three matches had put Sunderland ahead and seemingly set them on the road to victory at Upton Park.
West Ham had huffed and puffed without reward until Matt Jarvis hooked the ball back to fellow substitute Modibo Maiga and Nolan beat goalkeeper Simon Mignolet with a shot on the turn.
In many ways it was nothing more than West Ham had deserved after dominating possession, but they had been too direct and too predictable until Jarvis and Yossi Benayoun were sent on after 57 minutes.
Nolan had already brought a magnificent save from Mignolet and missed an effort from close range before volleying the equaliser for his third goal of the campaign.
Hammers boss Sam Allardyce had named an unchanged starting XI from the goalless draw at Norwich, which meant Jarvis, Benayoun and Maiga were consigned to bench duty.
Sunderland were forced into one change from their draw with Liverpool, with Titus Bramble replacing the injured Carlos Cuellar while Adam Johnson was still absent with a thigh injury.
Allardyce and his coaching staff rail at suggestions they are a long-ball team and they did have some craft in the side, with man of the match Mohamed Diame looking a shrewd signing and Ricardo Vaz Te willing to run at defenders.
But more often than not their enterprise stretched no further than playing it long to Carlton Cole in the hope of causing some confusion in the Sunderland defence.
This approach came as no surprise to the Black Cats, who scrambled well at the back and almost preserved the lead gifted to them after just nine minutes by a double mistake from James Collins.
Sebastian Larsson pounced on Collins' scuffed clearance and lofted the ball back over his head for Fletcher, who had peeled away into space, to drill a low shot that Jussi Jaaskelainen got a hand on but could not keep out.
West Ham came close to an equaliser after 23 minutes when Nolan's shot on the turn was blocked and Matt Taylor turned the ball back in for Vaz Te, whose far-post header was just wide.
Diame worked some space for himself on the edge of the box but shot wide before earning a free-kick, which Nolan struck against the wall.
Sunderland broke quickly and should have punished West Ham. They had a three-on-two advantage but James McClean wasted the opportunity with a tame shot from distance.
For all their possession, West Ham had so few ideas. Cole was not providing the same kind of silver service as Andy Carroll but they were keeping Sunderland busy.
Diame's quick feet drew another free-kick and Cole's flick on fell to Noble, who had his back to goal on the edge of the six-yard box and turned his shot just wide.
Vaz Te then combined with Guy Demel to reach the byline and pick out Nolan, whose acrobatic volley was brilliantly saved by Mignolet.
Allardyce eventually sent on Jarvis and Benayoun after 57 minutes and West Ham immediately looked more varied and dangerous in attack.
Jarvis was a constant thorn in Sunderland's side.
He immediately ran at opponents down the left and Craig Gardner was booked for a cynical block, but Cole headed wide from Noble's free-kick.
Jarvis teed up Joey O'Brien for a shot that was saved by Mignolet and he then caused more panic in the Sunderland box with another teasing cross which earned a corner.
From Noble's delivery, Collins rose well but planted his header onto the bar and over as Sunderland clung on.
The visitors were still dangerous on the counter-attack but Winston Reid was standing firm and Fletcher's left-foot shot flew over the bar.
In the fourth minute of added time, Sunderland's rearguard effort finally cracked and it was no surprise that Jarvis played a key role.
Noble launched the ball forward and Jarvis threw himself at it to just keep it from going out for a goal-kick.
The England winger hooked it back to Maiga, who headed down to Nolan and the West Ham captain volleyed on the turn to beat Mignolet and earn a point.