The Bluebirds had been winless in the last two games but leading scorer Jay Bothroyd gave them the perfect start in the second minute when he was left with a simple tap-in after Michael Chopra's close-range strike had been parried by Joe Murphy.

Bothroyd then turned provider as his cross found Chopra and the former Newcastle man finished from close range seven minutes later.

Craig Bellamy's left-wing free-kick was met by Bothroyd, who grabbed his 15th goal of the season by heading past Murphy in the 34th minute, although Kevin McDonald grabbed one back for the Iron on the stroke of half-time with a 20-yard strike.

Dany N'Guessan added a second for the home side on 73 minutes but Seyi Olofinjana made sure for Cardiff with a fourth goal 11 minutes from time.

Despite dominating possession QPR failed to break the deadlock, although Forest keeper Lee Camp had to make good saves from Hogan Ephraim and Adel Taarabt.

Fourth-placed Derby lost more ground on the leaders after going down 2-0 in the east Midlands derby at Leicester.

Andy King latched on to Richie Wellens' through-ball and expertly placed the ball into the net to give Derby the lead and Steve Howard doubled their tally with a penalty on 71 minutes.

Luciano Becchio grabbed a second-half hat-trick to help Leeds into the play-off places with a 3-1 win over Bristol City at Elland Road.

It was goalless at the break but the game burst into life with three goals in seven minutes. Becchio opened the scoring on 66 minutes but former Blackburn striker Jonathan Stead equalised two minutes later. Becchio then struck again on 70 and completed his hat-trick seven minutes from the end.

Burnley came from 2-1 down to win 3-2 at home to Watford and climb into sixth spot.

Goals from Don Cowie and Martin Taylor overhauled Chris Iwelumo's early strike for the home side, who equalised through Ross Wallace and got the winner through Graham Alexander's penalty on 77 minutes.

Crystal Palace lifted themselves off the bottom of the table with a 2-0 win over Coventry, who drop out of the top six as a result.

Fit-again Darren Ambrose fired home after Neil Danns had teed up his midfield partner and the same player added a second from the penalty spot in the second half.

Preston are now bottom after their 2-0 defeat at home to Hull on Friday night.

Andy Reid, on loan from Sunderland, fired Palace's relegation rivals Sheffield United to a surprise 1-0 win at Millwall with his first goal for the club, lifting the Yorkshire club out of the bottom three.

Barnsley held off a fightback to win 3-1 at Ipswich. Goran Lovre fired the Tykes into the lead and the Blues' on-loan keeper Marton Fulop scored an own goal to put the visitors 2-0 up by half-time.

Garry O'Connor made it 3-0 before Tommy Smith grabbed a consolation goal for the home side.

Doncaster were 3-2 winners at Portsmouth thanks to goals from James Hayter, James Coppinger and David Healy. Joel Ward and David Nugent replied for Pompey, who had Carl Dickinson sent off late on.