Forest had ended a five-game winless league run with victory over Peterborough prior to the international break. Andy Reid scored the only goal of the game at London Road and it was the Irishman who opened the scoring here.
On-loan defender Daniel Ayala quickly added a second goal to give the hosts a 2-0 half-time lead.
Forest made sure of all three points shortly after the restart when Billy Sharp scored his first goal for the club since arriving at the City Ground on loan from Southampton seven weeks ago.
Heidar Helguson pulled a goal back for Cardiff midway through the second half, but despite Forest finishing the game with 10 men following Adlene Guedioura's red card for two bookable offences, they were unable to make any more inroads.
Leicester are top on goal difference although their five-match winning sequence was brought to a halt but substitute Ben Marshall's late strike salvaged a deserved point as an entertaining encounter at Birmingham finished 1-1.
In first-half injury time Peter Lovenkrands converted a great cross from Marlon King for his third goal of the season.
Bolton recovered from a woeful start to claim a morale-boosting 3-2 victory over Bristol City in their first game since Owen Coyle's departure.
Under the caretaker management of Jimmy Phillips, a revitalised Wanderers outfit showed admirable character following Steven Davies' early brace at the Reebok Stadium. Davies, on only his second start for the Robins, followed up a superb third-minute volley by dispatching a disputed penalty, but goals either side of half-time from Chris Eagles and Jay Spearing levelled things up.
Several chances went begging for Bolton either side of Spearing's equaliser, yet there was still time for Martin Petrov to pop up with a deserved winner in the 82nd minute.
Theo Robinson struck a minute from time to rescue a point for Derby and deny Blackburn caretaker manager Eric Black a first victory as the game ended 1-1.
Rovers' £8million signing Jordan Rhodes looked to have secured the points for the away side with a crisp volleyed effort in the 34th minute, but the Rams snatched a deserved equaliser when Robinson bundled home from point-blank range.
Jermaine Beckford scored the 100th league goal of his career as he and fellow loanee James Vaughan teamed up to help Huddersfield secure an impressive 2-1 win over Wolves.
Sylvan Ebanks-Blake's 63rd-minute goal for Wolves could not prevent their three-game winning streak on the road coming to an end.
Nick Proschwitz's brace for Hull pushed his side into the play-off spots with a 2-1 win against Ipswich at the KC Stadium.
The visitors survived a barrage of chances from the Tigers in the first half to take the lead after 29 minutes through Jay Emmanuel-Thomas.
But Ipswich were pegged back by Proschwitz's first goal for the club in the 73rd minute, set up by fellow summer signing Ahmed Elmohamady. The German striker's effort sparked a flurry of chances for the hosts, but it was Proschwitz himself who ensured three points with an injury-time header to give Hull a second successive win.
Mark Beevers denied Crystal Palace a fifth straight win as Millwall came from two goals down to snatch a point in a 2-2 draw in the south London derby.
The on-loan Sheffield Wednesday defender struck with 13 minutes remaining, diverting the ball into the net with his thigh on only his second appearance for the Lions.
In-form Palace only had themselves to blame as they were 2-0 up and apparently cruising as half-time approached, thanks to a stunning goal from skipper Mile Jedinak and Damien Delaney's header.
But when defender Dean Moxey handled Darius Henderson's header on the goalline, referee Phil Dowd sent him off and Liam Trotter tucked in the penalty to drag Millwall back into the game.
Palace survived with 10 men until the 77th minute, but when Josh Wright swung in a corner Beevers was on hand to bundle the ball home.
A deflected first-half strike from Dutchman Marvin Emnes was enough to give Middlesbrough their fourth successive away win at Brighton - in manager Tony Mowbray's 100th match in charge.
Striker Emnes enjoyed a fair slice of good fortune in notching his fourth goal of the campaign, his 21st-minute effort from the edge of the penalty area taking a wicked deflection to wrong-foot Brighton's Polish international goalkeeper Tomasz Kuszczak.
Tomasz Cywka struck midway through the second half to clinch Barnsley's second away win of the season - 1-0 at shot-shy Charlton.
Matej Vydra stepped off the bench to snatch Watford a last-gasp 1-0 win and condemn Peterborough to a ninth defeat in 11 games this season.
Charlie Austin continued his hot goalscoring streak by hitting the winner in Terry Pashley's first game in temporary charge of Burnley. Austin has now scored eight goals in the last five Championship games and it was enough to beat an under-performing Blackpool side 1-0.