Cardiff City extended their lead at the top of the npower Championship to 11 points despite drawing as second-placed Leicester City suffered a shock defeat at rock-bottom Peterborough United.

Malky Mackay's Bluebirds failed to crack Huddersfield Town's sturdy defence as the fast-sinking Terriers held out for a goalless draw against the pace-setters at the John Smith's Stadium.

But the point proved enough to strengthen Cardiff's promotion push after the Foxes' run of five straight league wins came to an unexpected end. Ben Marshall had swept Leicester in front in the 52nd minute but Davide Petrucci lashed home a 74th minute equaliser, then Grant McCann gave Posh a priceless 2-1 win with his 88th minute strike.

Middlesbrough's hold on the final Play-Off place looks increasingly fragile after Tony Mowbray's men suffered their fourth straight league defeat in a 3-2 loss to Barnsley. Jim O'Brien hit an early opener for the visitors but Boro clawed their way back to lead with goals from Mustapha Carayol and substitute Curtis Main early in the second half.

But the Tykes replied with a 70th-minute equaliser from Scott Golbourne, then veteran Jason Scotland hit the winner six minutes later to stretch his side's unbeaten run to seven games.

Blackburn Rovers look best placed to capitalise on Boro's mighty wobble after they edged to a 1-0 win over Ipswich Town at Ewood Park, the winner credited as an own goal to Ipswich keeper Stephen Henderson after a goalmouth scramble on the hour.

Billy Davies knows the size of his task when he returns as Nottingham Forest boss on Monday after they slid to a 2-0 defeat at Bristol City, managed by former Forest boss Sean O'Driscoll.

It was late heroics galore elsewhere as David Ngog's 81st minute winner won a bustling Lancashire derby 2-1 for Bolton Wanderers over Burnley at the Reebok Stadium. Meanwhile, Nathan Delfouneso's injury-time effort sealed a dramatic 2-1 win for Blackpool against Millwall at Bloomfield Road.

Danny Batth scored in the second minute of injury time to give struggling Wolverhampton Wanderers a point in a 2-2 draw with Leeds United at Molineux. Sheffield Wednesday fought back from two goals down to share the points in a 2-2 draw with Derby County at Hillsborough.

There was more late drama in the Championship at The Valley where Yann Kermogant looked to have claimed the points for Charlton Athletic with an 88th minute opener, only for Wade Elliott to grab a 1-1 draw for Birmingham City in the fourth minute of injury time.