Ipswich Town made a mockery of their lowly position in the Championship as they put the leaders West Ham United to the sword at Portman Road.

The league's tightest defence met its weakest but it was Ipswich who celebrated their first win in eight matches in all competitions to boost their battle for survival.

The home side led inside three minutes through Michael Chopra before Carlton Cole hit a post for the visitors moments later.

A crazy end to the first half saw three goals in the final two minutes plus stoppage time, with Daryl Murphy doubling Ipswich's advantage with a header before Jack Collison halved the deficit within seconds.

Ipswich were then awarded a penalty which Lee Martin converted, and Jay Emmanuel-Thomas added a brace after the break as West Ham saw their three-game winning run in the league come to an end. But they stay top after the second-placed Southampton were held to a 1-1 draw at home by Cardiff City.

Ipswich made a flying start as they took the lead after three minutes when Emmanuel-Thomas teed up Chopra for his first goal in eight games.

West Ham came agonisingly close to an equaliser in the sixth minute but Cole's header from George McCartney's delivery hit a post and bounced into the arms of the goalkeeper Arran Lee-Barrett.

The game was swinging from end to end and Chopra came close to a second in the 35th minute but his close-range header was easy for the goalkeeper Robert Green.

West Ham responded and James Tomkins headed a Mark Noble corner over before they fell further behind a minute before the break.

Tommy Smith flicked on a corner and Murphy was on hand to convert from close range – his first goal since November.

But West Ham produced an immediate response as Collison headed in a Noble free-kick, although Ipswich immediately restored their two-goal cushion.

George McCartney was booked for a foul on Chopra and Martin sent Green the wrong way from the spot.

An excellent save from Green prevented Emmanuel-Thomas from notching a fourth for Ipswich 10 minutes into the second half. But there was nothing Green could do when the 21-year-old former Arsenal player left fly from 30 yards in the 64th minute to make it 4-1.

Winston Reid and Lansbury were denied by Lee-Barrett as West Ham attempted to get back into the game. The substitute Sam Baldock shot wide when he should have scored and Kevin Nolan was next to be foiled by Lee-Barrett as West Ham continued to fight back.

However, Emmanuel-Thomas added a fifth in injury time to cap a miserable night for West Ham.