The results allowed United to maintain their one-point lead at the top of the Barclays Premier League.
Van Persie saw his strike deflect into the net off Hammers defender James Collins but United struggled to build on their dream start and were fortunate when goalkeeper Anders Lindegaard made a fine save to deny Carlton Cole late on.
Rivals Manchester City laboured for long periods but eventually claimed a 2-0 win at impressive Wigan with late goals from Mario Balotelli and James Milner.
Balotelli snatched his 69th minute opener after Latics goalkeeper Ali Al Habsi fumbled an initial shot from Gareth Barry, then James Milner drilled home the second three minutes later before going off injured.
Rafael Benitez is still searching for his first win as Chelsea boss after enduring his second consecutive goalless draw against Fulham at Stamford Bridge.
Three days after Benitez's first game in charge of the Blues saw him endure a savage reception from his new club's supporters, he was unable to turn the jeers into cheers as they slipped further seven points adrift of leaders United.
Neither side created many openings in a dismal first half while it was the visitors who looked more likely to grab a winner for long periods after the break, with John Arne Riise hitting a fine chance at Petr Cech.
Marouane Fellaini returned from suspension to grab a point for Everton in an entertaining 1-1 draw with Arsenal at Goodison Park.
The Gunners made a dream start with Theo Walcott putting them in front inside the opening minute when he combined with Jack Wilshere in the box and hit a shot which deflected into the net off Tony Hibbert.
But David Moyes' men equalised just before the half hour when a mistake by Bacary Sagna on the edge of the box allowed Fellaini to curl the ball into the bottom corner. Wojciech Szczesny pulled off a brilliant save to deny Sylvain Distin late on.
Tottenham hung on for a 2-1 win over unlucky Liverpool at White Hart Lane which sees the north Londoners jump to fifth in the table.
Gareth Bale set up Aaron Lennon for a seventh minute opener then the Welshman saw his 16th minute free-kick deflected home to put his side further ahead.
Bale scored at the wrong end in the 71st minute when Lennon's attempted clearance hit him in the face and rebounded into the net, before Liverpool launched a storming finish with Luis Suarez and Jose Enrique denied by Spurs keeper Hugo Lloris.
Newcastle extended their dismal recent record to one win in nine after late goals from Jon Walters and Cameron Jerome gave Stoke a 2-1 win at the Britannia Stadium.
Papiss Cisse put the Magpies in front just after the break but Walters flicked home an equaliser nine minutes from time and four minutes later Jerome struck the winner after Kenwyne Jones' nod down in the box.
Southampton's recent revival took a minor stumble as they were forced to settle for a 1-1 draw at home to Norwich in a game which saw the return to top-flight refereeing of Mark Clattenburg.
Rickie Lambert poked home from close range in the 32nd minute but Robert Snodgrass equalised on the stroke of half-time when his free-kick squeezed under Saints keeper Paulo Gazzaniga.
West Brom's run of four successive victories was brought an abrupt end in a 3-1 defeat at Swansea.
Michu hit his eighth goal of the season in the ninth minute and Wayne Routledge added further goals in the 11th and 39th before Romelu Lukaku replied for the Baggies just before the break.
Tuesday's Premier League Results
Sunderland 0-0 QPR
Report | Reaction
Aston Villa 1-0 Reading
Report | Reaction
Wednesday's Premier League Fixtures
Chelsea 0-0 Fulham
Man United 1-0 West Ham
Swansea 3-1 West Brom
Everton 1-1 Arsenal
Southampton 1-1 Norwich
Stoke 2-1 Newcastle
Tottenham 2-1 Liverpool
Wigan 0-2 Man City