Southampton returned to the top of the table despite being held in a dramatic South Coast derby and Cardiff moved back into the play-off places.
Elsewhere on Saturday, Birmingham cemented their top-six standing, Coventry's revival continued and Leicester kept their promotion dreams alive, while piling pressure on Doncaster.
Southampton were held to a 2-2 draw by arch-rivals Portsmouth, with both sides netting during a thrilling climax to the contest, but a point was enough to edge the Saints above Reading on goal difference and back to the Championship summit.
Birmingham have some breathing space in their efforts to secure a play-off berth, with three first-half efforts from Chris Burke, Keith Fahey and David Murphy easing them to a 3-1 victory over Crystal Palace.
Cardiff prevailed in a battle between two promotion chasers at Middlesbrough, with Ben Turner and Joe Mason handing them a 2-0 victory and a standing back inside the top six.
Leicester closed to within five points of the play-offs as Danny Drinkwater, Lee Peltier, Ben Marshall and Paul Gallagher netted in a routine victory over rock-bottom Doncaster, who are now nine points adrift of safety.
Millwall gave their survival bid a welcome shot in the arm as goals either side of half-time from Harry Kane and Andy Keogh saw them past Hull City and condemned the Tigers to a fifth straight defeat.
Coventry stretched their unbeaten run to seven games but were denied a third consecutive success as Emile Sinclair bagged a brace for Peterborough in a 2-2 draw.
Derby and Ipswich remain locked in mid-table after playing out a goalless stalemate at Pride Park.
The final action of the day saw Bristol City pick up a vital 1-0 victory over fellow strugglers Nottingham Forest, with Chris Wood's second half penalty deciding an archetypal relegation six-pointer at the City Ground.