Second-placed Cardiff City closed the gap on Championship leaders QPR by beating Coventry 2-1.
Peter Whittingham's early penalty gave the Bluebirds the advantage at the Ricoh Arena, but Gary McSheffrey drew Coventry level a minute before the break. But the in-form Jay Bothroyd grabbed a late winner for Cardiff which takes them within two points of the summit.
Championship leaders QPR had goalkeeper Paddy Kenny to thank as they came away from Swansea with a point.
The Swans, who came into the match having lost just one of their last 18 at the Liberty Stadium, had a great chance to take the lead in the 39th minute but Kenny kept out David Cotterill's spot-kick to keep the score at 0-0. Top scorer Jamie Mackie twice went close for QPR after the break, while Kenny was required to make another good save from Darren Pratley's close-range effort.
Third-placed Norwich slipped to a shock 2-1 home defeat against struggling Crystal Palace, who recorded their first away win of the season.
Grant Holt's goal just before half-time put Norwich in front but Julian Bennett equalised (56) and a rare goal from on-loan Hull defender Anthony Gardner (63) completed the turnaround.
Managerless Middlesbrough suffered a further setback as Lewis McGugan's 51st-minute strike earned Nottingham Forest a 1-0 win at the City Ground.
Bristol City had the worst home record of any team in the Football League going into their clash with Reading but Danny Haynes' half-volley (28) gave them a 1-0 win at Ashton Gate.
Scunthorpe edged out Preston by the odd goal in five. Chris Dagnall's fifth goal of the season after just four minutes put the visitors ahead at Deepdale but Craig Morgan equalised from Paul Parry's corner (58) and was also involved as Billy Jones made it 2-1 (64).
Michael O'Connor's free-kick levelled things up within a minute and Martyn Woolford's goal (82) settled a thrilling clash 3-2 in the visitors' favour.
A Kris Commons double helped Derby win by the same 3-2 scoreline at Doncaster. On-loan West Brom frontman Luke Moore scored his first goal since December to give Derby a 1-0 half-time lead at Doncaster and Commons doubled their lead (59). Dean Shiels levelled matters with two goals in three minutes but Commons grabbed the clincher.
Burnley hammered Barnsley 3-0 at Turf Moor. Chris Eagles put them ahead from long range five minutes after half-time against Barnsley and added a second goal from the penalty spot (66) before Chris Iwelumo (83) rounded off the win.
On-loan Tottenham full-back Kyle Naughton and striker Steve Howard earned Leicester a 2-1 win at Leeds, for whom Luciano Becchio was on target.
Watford had struggled to break through a stubborn Ipswich defence but two goals in three minutes from Stephen McGinn and Marvin Sordell just before half-time put them 2-0 up. David Norris pulled one back with a header but the Hornets held on.
Liam Lawrence's penalty earned Portsmouth victory at Millwall, while Sheffield United's Mark Yeates sunk former loan employers Hull.