Championship Round-up:Mick McCarthy's Wolves side went seven points clear as Reading won at Birmingham to go second. The leaders had been frustrated by a resolute Doncaster before they finally broke the deadlock with nine minutes remaining when defender Neill Collins headed in Michael Kightly's cross.
Noel Hunt and Kevin Doyle were both on target as Reading took the points at St Andrews.
Noel Hunt had shaken off a head injury to bend in a 25-yard free-kick before later succumbing to his second knockout blow of the season after a clash of heads with Franck Queudrue .
Doyle took advantage of slack defending midway through the second half to head in Stephen Hunt's free-kick and render a moment of individual brilliance from Blues striker Kevin Phillips worthless.
Phillips had dragged Alex McLeish's side level against the run of play with a fine solo goal only for Doyle to respond and midfielder Kalifa Cisse added a late third which sees Reading leapfrog their hosts into the automatic promotion places.
Norwich eased their relegation worries as their 1-0 home win, thanks to Leroy Lita's goal on the hour, kept Charlton in the bottom three.
Strugglers Nottingham Forest did their survival chances a power of good with a 2-0 win at Southampton.
Wes Morgan gave Forest the lead with a close-range header from Chris Cohen's cross just before half-time and the visitors made the points safe through Joe Garner.
Martin Paterson and Steve Thompson scored as Burnley won 2-1 at Bristol City to move within four points of Birmingham.
Nicky Maynard had opened the scoring for Bristol City in the 52nd minute when he converted from the penalty spot after Clarke Carlisle was penalised for a foul on Stern John.
Roger Johnson opened the scoring four minutes into the second half as Cardiff beat Sheffield Wednesday 2-0, with on-loan Sunderland striker Michael Chopra getting the second with a penalty.
Dexter Blackstock's header settled a five-goal thriller at Loftus Road in favour of Queens Park Rangers.
Heidar Helguson netted for QPR following a cross by Lee Cook before Chris Sedgwick brought Preston level with a header.
Helguson put QPR back in front after 34 minutes with a close range finish and then Callum Davidson brought the visitors level for a second time from the penalty spot.
Blackstock's header from a Martin Rowlands free-kick four minutes from time settled the issue.
Anderson De Silva and a late Jamal Campbell-Ryce penalty earned Barnsley a 2-0 win over Plymouth, who had Simon Walton dismissed for a professional foul on 28 minutes.
Kevin Lisbie scored two equalisers as Ipswich came from behind to earn a 2-2 draw at Coventry.
Clinton Morrison and Freddy Eastwood — his first in 16 games — had twice given the home side the lead.
Jason Scotland netted after 67 minutes to put Swansea in front at Blackpool before Alan Gow secured a point for the home side.
Rob Hulse netted with seven minutes to go as Derby won 1-0 at home to Watford.