Peterborough United produced the shock of the npower Championship season so far as they ended Cardiff City's perfect home record with a 2-1 victory.

Michael Bostwick put Posh ahead after 22 minutes with a superb long-range effort and on-loan Dagenham and Redbridge striker Dwight Gayle netted the second two minutes after the interval.

Rudy Gestede's late goal ensured a nervy finish for Darren Ferguson's team, but they held on for three crucial points.

The prolific Glenn Murray fired Crystal Palace into a 2-0 lead after an hour against Birmingham City but they relinquished the advantage as substitute Nikola Zigic (66) and Papa Bouba Diop (82) scored.

Middlesbrough had to wait until late to breakdown a stubborn Wolverhampton Wanderers, with Martin Emnes netting an 89th-minute penalty after Karl Henry fouled Scott McDonald. The Australia striker then continued his recent scoring streak with his side's second in injury time in the 2-0 win.

Hull City won their lunchtime kick-off against Yorkshire rivals Huddersfield Town 2-0 thanks to goals from Robert Koren (eight) and David Meyler (90).

Chris Taylor scored the only goal of the game on 67 minutes as Millwall moved into the Play-Off places with a 1-0 home win over Leicester City.

Watford dropped out of the top six as they drew 1-1 at Burnley and Blackpool beat derby rivals Blackburn Rovers 2-0 with goals from Wes Thomas (22) and Kirk Broadfoot (81).

Leeds United joined Blackpool in the top half as they won a third successive home league game 2-0 over Ipswich Town. On-loan winger Jerome Thomas (20) and Paul Green (68) were on target.

David Ngog scored twice in the final 16 minutes as Bolton Wanderers grabbed a much-needed 2-0 win over Charlton Athletic, while Derby County returned the same scoreline at Bristol City.

Elsewhere, Brighton amd Hove Albion and Nottingham Forest played out a goalless draw at the Amex Stadium.