Graham Dorrans' superb free-kick and Chris Brunt's strike put Roberto Di Matteo's side two up at the break.

Jay Emmanuel-Thomas pulled one back for Rovers two minutes into the second half only for Roman Bednar's 73rd-minute finish to restore the Baggies' two-goal cushion.

James Hayter added a second for Doncaster in the 85th minute to ensure a nervous finish, but the visitors held on.

The victory kept West Brom 11 points ahead of Nottingham Forest with three games left to play.

Newcastle remained firmly on course for the title with a 4-1 thumping of Blackpool at St James' Park.

First-half goals from Jonas Gutierrez and Andy Carroll - his 17th of the season - put them in command at the break and Kevin Nolan and Wayne Routledge extended their advantage after the break.

Brett Ormerod's goal after 85 minutes for Blackpool was no more than a consolation.

Victory kept Chris Hughton's men six points ahead of West Brom with a game in hand.

Forest claimed a 3-0 win over Ipswich at the City Ground thanks to second-half goals from Luke Chambers, Guy Moussi and Robert Earnshaw.

Neil Warnock made a victorious return to Crystal Palace as his QPR side won 2-0 at Selhurst Park.

Akos Buzsaky's 11th-minute goal put Rangers in front and a Kaspars Gorkss header after an hour sealed the win.

The result boosted QPR's survival bid but kept Palace deep in relegation trouble.

Fellow strugglers Sheffield Wednesday remained third from bottom after going down 1-0 at Middlesbrough.

Scott McDonald's deflected goal five minutes before the break kept Gordon Strachan's side in the play-off hunt.

Swansea's play-off hopes suffered a blow as they went down 1-0 at Bristol City, Nicky Maynard with the winner six minutes from time.

Leicester moved above the Swans into fifth as Gary Johnson's first game in charge of already-relegated Peterborough ended in a 2-1 defeat.

Steve Howard and Andy King scored for the Foxes either side of Tommy Rowe's equaliser.

Fourth-placed Cardiff were held to a goalless draw by Reading, who also have their eye on the top six.

Watford boosted their survival hopes and edged second bottom Plymouth closer to the drop with a 1-0 win at Vicarage Road, Heidar Helguson with the only goal of the game.

Preston scored twice in the last five minutes to come from behind and win 3-2 at home to Scunthorpe.

Billy Jones and Keith Treacy scored at the death after Garry Thompson's second-half double had threatened to give Scunthorpe the points.

Jon Parkin had given North End a 1-0 lead at the break.

Richard Cresswell's goal earned Sheffield United a 1-0 win at home to Coventry, while Barnsley's clash with Derby ended goalless.