Manchester United kept the pressure on Barclays Premier League leaders Chelsea with a third straight win as West Ham capitulated at Upton Park.
Premier League results:
Arsenal 2-0 Stoke
Aston Villa 3-0 Hull
Blackburn 0-0 Liverpool
Portsmouth 2-0 Burnley
West Ham 0-4 Man Utd
Wigan 2-3 Birmingham
Wolverhampton 2-1 Bolton
Man City v Chelsea (late kick-off)
The teams were well matched for the majority of the first half until Paul Scholes lashed home his 99th Premier League goal with seconds to go before the whistle.
The Red Devils were much more impressive in the second period, with Darron Gibson producing an even better strike to make it two after 61 minutes, smashing high into the net for his third goal in a week.
Antonio Valencia and Wayne Rooney then scored the third and fourth within seconds of each other from tap-ins as United poured forward.
Third-placed Arsenal collected a 2-0 win over Stoke at Emirates Stadium but should have made it easier on themselves after a missed penalty and a bizarre goalline block kept the visitors interested.
Cesc Fabregas first spurned a 20th-minute spot-kick after Andrey Arshavin was felled by Rory Delap.
The Spaniard helped make amends six minutes later, teeing up Arshavin, who ran the ball towards goals before producing a neat finish across goal for the opener.
Fabregas almost had one of his own seconds later but amazingly saw team-mate Emmanuel Eboue block it on the Stoke line. Aaron Ramsey put the game beyond doubt in the 79th minute.
Steven Gerrard was unable to inspire Liverpool in his 500th match for the club, with a goalless draw at Blackburn not good enough to turn around their faltering season.
David Ngog missed a glorious chance following fine work from Glen Johnson, hitting the crossbar from four yards with the goal gaping.
Struggling Wolves held on for a vital 2-1 win over Bolton at Molineux for a third success of the season.
Veteran Jody Craddock turned home Christophe Berra's header from six yards for the opener before a sensational hit from Nenad Milijas stretched the lead after 63 minutes.
Johan Elmander got the consolation.
Aston Villa enjoyed a comfortable 3-0 win over Hull. Richard Dunne powered home expertly to break the deadlock before James Milner caught Matt Duke out of position and John Carew converted a late penalty.
Birmingham came from a goal behind at the DW Stadium to record a 3-2 victory.
Charles N'Zogbia put the Latics ahead before two goals from Sebastian Larsson either side of Christian Benitez's 66th-minute effort sealed the points.
Jordi Gomez made it 3-2 a minute from time.
In the day's early kick-off, Avram Grant recorded a first win since taking over as Portsmouth boss as his side saw off Burnley 2-0 at Fratton Park.
The points came courtesy of second-half goals from Hermann Hreidarsson and Aruna Dindane, after the latter had missed a soft penalty in the first period.