Sebastian Larsson's stunning goal set up a comfortable victory for Sunderland as they dragged themselves further clear of the Premier League relegation zone.
- Thorne: Hammers well beaten on Wearside
- Heneage: Three widemen offer Sunderland promise
- Watch every goal from every Premier League game with ESPN Goals (UK only)
The Sweden international set the Black Cats on their way with a 12th-minute piledriver, and the game was effectively over when Adam Johnson scored from close range after taking advantage of comical defending by West Ham two minutes after the restart.
James McClean wrapped up the win 16 minutes from time after Stephane Sessegnon had left defenders trailing in his wake, and not for the first time.
Martin O'Neill's men were good value for the points in front of a crowd of 39,918 on a day when the Hammers were shambolic at the back, but equally woeful going forward with Joe Cole struggling to get himself into the game.
Indeed, they might have won far more comfortably had it not been for the efforts of goalkeeper Jussi Jaaskelainen, who pulled off a string of fine saves and was also helped out on one occasion by the woodwork.
O'Neill was once again forced to field a side without any specialist full-backs as midfielders Craig Gardner and Jack Colback filled in with Phil Bardsley sitting on the bench.
However, he need not have worried as the Hammers turned in a toothless first 45 minutes during which keeper Simon Mignolet was called upon only once to grasp Matt Jarvis' skidding 20th-minute shot at the end of a rare incisive attack.
The visitors enjoyed their fair share of possession, but were wasteful on the ball and were able to do little with it when they did manage to retain in for any length of time.
By contrast, Sunderland threatened repeatedly as Sessegnon and Steven Fletcher led the Hammers defence a merry dance, and central defender James Collins may have been grateful to be put out of his misery when a hamstring injury forced him off the field 11 minutes before the break.
The Black Cats started in determined fashion and it took a good block by full-back Dan Potts to keep out Johnson's third-minute volley with David Vaughan steering the rebound wide.
Winston Reid had to be similarly stubborn six minutes later after Fletcher surged into the box and went for goal, but the respite was only temporary.
Johnson's right-wing cross was easily picked off by Alou Diarra, but he could only head it to Larsson 25 yards out, and he smashed an unstoppable left-foot shot high past Jaaskelainen to open the scoring.
Sam Allardyce's men started to work their way into the game, but with Kevin Nolan, the man the Sunderland fans love to hate as a result of his derby heroics for arch-rivals Newcastle, suffering an indifferent afternoon, striker Carlton Cole was seeing too little of the ball to do anything about addressing the deficit.
Sunderland might have increased their lead with 26 minutes gone when Sessegnon carve his way through the Hammers' defence, but he stabbed his effort wide.
Johnson saw a shot blocked at source on the stroke of half-time, but the home side went in at the break more than content with their efforts.
Allardyce attempted to inject fresh impetus by introducing Ricardo Vaz Te in place of Jack Collison, but his plan was torn apart within two minutes of the restart.
Sessegnon broke from his own half down the right before picking out the unmarked McClean on the opposite flank.
Jaaskelainen pulled off a fine one-handed save to deny the Republic of Ireland winger, but as Potts attempted to chest the ball back to his keeper, Fletcher intervened to poke it towards Johnson, who dispatched it via the post into the unguarded net.
The visitors were showing few signs of forcing their way back into the game and it seemed only a matter of time before Sunderland increased their lead.
They very nearly did just that with 57 minutes gone when Sessegnon picked out Colback in acres of space and his initial shot was well saved by Jaaskelainen before his follow-up cannoned back off the upright.
Fletcher beat Jaaskelainen with a cultured finish six minutes later, although from an offside position with the visitors simply unable to keep their hosts at bay.
They capitulated once again with 74 minutes gone when Sessegnon skipped into the box and scuffed a shot to the far post, where McClean slammed the ball home from a tight angle.
Mignolet had to kick away James Tomkins' 83rd-minute effort, by N'Diaye, on as a replacement for Johnson, fired just wide two minutes later with his side cruising to the final whistle.