Southampton and Middlesbrough were both held to draws, while Dean Saunders began life as Doncaster manager with a win.
Southampton fell behind to struggling Burnley at Turf Moor but salvaged a point courtesy of Morgan Schneiderlin's equaliser in a 1-1 draw.
Saints' failure to win presented unbeaten Middlesbrough with the opportunity to go top of the table by beating Ipswich at The Riverside, but the game ended in a frustrating goalless draw.
Derby continued their fine start to the season as first-half goals from Craig Bryson and Jeff Hendrick set the Rams on course for a 3-0 victory over Millwall at Pride Park.
Mark Noble's early penalty extended West Ham's unbeaten run to seven games and propelled them into fourth place with a 1-0 success against Peterborough.
Doncaster made the decision to replace Sean O'Driscoll with Saunders this week following a dismal start to the season, and the change had a galvanising effect as John Oster's strike was enough to give the club their first league win of the season against Crystal Palace.
Erik Huseklepp found the target to give Portsmouth a hard-fought 1-0 win over previously in-form Blackpool at Fratton Park.
An equaliser from Brett Pitman cancelled out Robert Koren's opener as lowly Bristol City hit back to hold Hull City 1-1.
Gary McSheffrey scored for Coventry after just two minutes of their game against Reading but Simon Church levelled things up just eight minutes later and there were no further goals in a 1-1 draw.
There was another 1-1 draw at St Andrews as Birmingham left it late to snatch a point at home to Barnsley thanks to Chris Burke's strike.
Ishmael Miller's goal gave Nottingham Forest a much-needed 1-0 win against Watford at Vicarage Road in the day's late kick-off.