A brace from Championship player of the year Rickie Lambert was enough for Southampton to win 2-0 at Crystal Palace and go three points clear of Reading at the top of the table.
The Saints are looking to heap pressure on Reading, who play Brighton on Tuesday, and Lambert's 25th and 26th league goals of the campaign helped them do just that.
The 30-year-old had an effort disallowed before scoring in either half to lead Nigel Adkins' side to a comfortable victory at Selhurst Park.
Ricardo Vaz Te's 89th minute penalty salvaged a point for West Ham, although they made it seven home games without a win after drawing 3-3 with Birmingham.
Jordon Mutch struck first with an impressive solo goal for the visitors, bamboozling Abdoulaye Faye with some trickery before firing a shot past an unsighted Rob Green. And Blues doubled their advantage moments later when Marlon King beat the offside trap before keeping his cool to slot home.
The home supporters were beginning to voice their displeasure before Vaz Te headed in his fourth goal in as many games in first half stoppage time. However, Birmingham went straight up the other end and restored their two goal advantage when Chris Burke fired a volley into the ground which somehow bounced into Green's net.
Carlton Cole pulled one goal back before Vaz Te lashed in the equaliser from the spot which was awarded after Henri Lansbury's shot hit Burke's arm.
Bristol City striker Jon Stead scored for both sides in the relegation clash against Coventry at Ashton Gate as the home side won 3-1.
Coventry midfielder Sammy Clingan whipped in a free-kick and it went in off the head of unfortunate Robins striker Stead to give the visitors a 1-0 lead just after the half-hour mark.
But Stead made amends at the start of the second half as he claimed the 47th-minute equaliser before late goals from substitutes Yannick Bolasie and Chris Wood turned the result in their favour.
The Robins had to play the last few minutes with 10 men after Brett Pitman was shown a straight red card, but they held on to stay out of the relegation zone and move four clear of Coventry.
A Kenny Miller goal just before half-time looked to have given Cardiff a victory over Watford but the Hornets secured an unexpected point thanks to a late Nyron Nosworthy goal. The Bluebirds remain sixth in the table as Malkay Mackay was left frustrated by his former club.
Ten-man Blackpool kept their play-off hopes alive after coming from behind at home to Barnsley to snatch a 1-1 draw.
Keith Southern was sent off by referee Andy D'Urso before half-time with Barnsley midfielder David Perkins giving the visitors the lead shortly after the interval.
Ian Holloway's side pushed for an equaliser and it came courtesy of Matt Phillips with just under 20 minutes remaining to keep the Seasiders fifth in the table.
Middlesbrough missed the chance to go seventh as they threw away the lead to lose 2-1 at Hull. Marvin Emnes scored his 13th goal of the season to open the scoring for Middlesbrough, but they could not enhance their lead and were made to pay when Manchester United loanee Joshua King levelled after 58 minutes.
Matt Fryatt then secured the points for the home side with an 88th-minute winner as the Tigers won their first match in five.
Bottom side Doncaster have not won at the Keepmoat since early 2012 and were beaten at home again, this time falling 2-1 to mid-table Burnley.
Josh McQuoid scored from distance to give Burnley the lead at half-time with Chris Brown giving Doncaster hope with a 56th-minute equaliser.
A 76th-minute winner for the visitors came courtesy of a Charlie Austin penalty after Adam Lockwood fouled Danny Ings.
Nottingham Forest moved six points clear of the relegation zone with Dexter Blackstock's 38th-minute goal enough to beat Peterborough 1-0. Gareth McCleary saw red late on for Forest who hung on to claim what could be a vital victory.
Leicester came from behind to beat Ipswich 2-1 and keep their slim play-off hopes alive. Jason Scotland gave Ipswich the lead in the 43rd minute but a long-range Ben Marshall free-kick meant the sides went in level at the break.
David Nugent then struck just before the hour to give Nigel Pearson's side the three points, leaving them only five points off the play-offs.
Leeds dropped into the bottom half of the table after losing 2-0 at home to Derby after Michael Brown was sent off early on. Brown was dismissed in the 26th minute with Craig Bryson and Steve Davies scoring in each half to earn Nigel Clough's side the win.