Norway striker John Carew gave West Ham the lead in the 11th minute of the match at Upton Park.

Sam Baldock netted a brace and Jack Collinson also scored, all in the first 10 minutes of the second half, to put the result beyond doubt in east London.

West Ham are now second in the table, two points behind Southampton.

The league leaders had to come from behind to claim a 1-1 draw in their match away to Derby.

Hosts Derby, who started the day in third place, led through Theo Robinson's goal in the third minute at Pride Park.

Richard Lambert levelled just past the hour mark and neither team could force a breakthrough, with the draw leaving Derby fourth.

Middlesbrough had occupied second spot but they slipped down to third after drawing 1-1 at home to Millwall.

It was Liam Trotter who equalised for the visitors in the 55th minute, after Barry Robson had given Middlesbrough a first-half lead.

In other matches, goals from George Boyd and Lee Tomlin helped Peterborough win 2-1 at Bristol City.

Portsmouth broke Barnsley's seven-game unbeaten run with a 2-0 win as David Norris and Luke Varney struck in a two-minute spell just after the hour mark.

Norris opened the scoring in the 61st minute with a well-taken volley after flicking the ball up, while Varney prodded home just moments later with Barnsley still reeling.

Jem Karacan's goal in the ninth minute of injury team saw Reading snatch the latest of 1-0 victories away to Burnley.

Ipswich Town came from behind to lead 2-1 away to Cardiff, with former crowd favourite Michael Chopra on target for the visitors against his old side.

But Peter Whittingham's 71st-minute penalty secured a point for the hosts.

A Lucas Jutkiewicz goal was enough for Coventry City to see off Nottingham Forest 1-0 at home.

And Crystal Palace came away from their trip to Watford with a 2-0 victory, thanks to strikes from Wilfred Zaha and Jermaine Easter.

Meanwhile, Brighton played out a 0-0 draw at home to Hull City.