Fraizer Campbell nodded home his sixth for the club from five yards out to finally break the Rovers resistance five minutes before the break. And it was Campbell's replacement Joe Mason who doubled the lead with four minutes to go before substitute Peter Whittingham wrapped up the points from the penalty spot in added time.
Leicester's play-off hopes were dealt another major blow as they suffered a third straight league defeat at Barnsley, going down 2-0. Nigel Pearson's side have slipped from second to seventh having failed to win in March and just once in their last 10 outings. A Michael Keane own goal and a strike from on-loan striker Chris O'Grady, before Jason Scotland missed from the spot, were enough for the Tykes to record only their second home league win against Nigel Pearson's side in over 20 years.
In the late game Leeds United were stunned by Derby County, who owed their 2-1 win to an 87th-minute header from Jake Buxton. The visitors won at Elland Road having been a goal down, with Ross McCormack opening the scoring for Leeds midway through the second half. Paul Coutts provided the equaliser, tucking away a rebound after Conor Sammon had had his spot kick saved. Derby move up to eighth, six points adrift of the play-off places with as many games to play. Leeds Untied are two points behind, but only five off the relegation battle.
Lewis McGugan's stoppage-time penalty saw Nottingham Forest extend their unbeaten run with a 1-1 draw against Burnley at Turf Moor. The home side's play-off hopes already needed a miraculous resurrection over the last six games of the season, but they looked set for a first home win since January and a return to the top half after Junior Stanislas' second-half strike. Forest played some attractive football and remain in the top six, but looked every inch a team playing their second match in three days and rarely threatened to add to their six wins and a draw since Billy Davies' return as manager - until McGugan's late strike.
Ten-man Blackpool made sure Ian Holloway's return to Bloomfield Road ended in defeat as they beat Crystal Palace 1-0 to secure a result that has implications at both ends of the Championship table. With Hull and Watford not playing until Tuesday night, Palace could have moved to within three points of the second-placed Tigers but they were undone by Matt Phillips' 85th-minute strike, despite playing against 10 men for 48 minutes. Phillips stole the points for the Seasiders as he curled a delightful effort past Julian Speroni as Paul Ince's men earned a win that does their chances of survival the world of good. It was a lacklustre display from the Eagles, who are now four games without a win.
Millwall and Ipswich laboured to a goalless draw at a blustery Den to earn a point apiece and keep themselves out of harm's way. Ipswich stretched their unbeaten run to four matches and hit the 50-point mark while FA Cup semi-finalists Millwall remain a point better off. Andy Keogh had a goal disallowed and clipped the woodwork for the hosts while David Forde denied Luke Hyam in the first half. After the break, Lions defender Shane Lowry hit a post and Michael Chopra and Frank Nouble squandered the best of Ipswich's few opportunities.
Sam Baldock crashed home his first goal of the year in stoppage-time to snatch a point for bottom club Bristol City and deal Sheffield Wednesday's survival hopes a blow in a 1-1 draw. City striker Baldock lashed home a shot from the edge of the penalty area in the 93rd minute to cancel out Jermaine Johnson's first-half opener for the visitors and keep alive Sean O'Driscoll's side's slim hopes of escaping relegation.
Wolves climbed out of the relegation zone after battling local rivals Birmingham 3-2 in a full-blooded derby at St Andrew's. Stephen Hunt and Sylvan Ebanks-Blake (2) put the visitors 3-0 up at half-time, with the third coming from the spot after Jack Butland fouled Kevin Doyle in the box. Wade Elliott gave Blues hope early in the second half, converting a spot-kick before missing another and knocking home the rebound – but that was deep into injury time and Wolves hung on for the win.