Rudy Gestede scored twice as Cardiff edged to within a single point of promotion to the Premier League with an easy win over Nottingham Forest.
Heidar Helguson scored the opener on 26 minutes, heading home Craig Bellamy's free-kick.
Forest were reduced to 10 men before the break when Darius Henderson was dismissed for a stray arm on Helguson.
Two second-half headers from Helguson's replacement Gestede secured the win for Malky Mackay's side.
Watford's defeat at Peterborough means Cardiff are now 12 points clear of at the top of the Championship with four games remaining.
A point against Charlton at home on Tuesday would secure Cardiff's promotion to the top flight.
Cardiff's dominant second-half display secured the three points and inflicted play-off chasing Forest's first defeat in 11 games.
In the cagey opening period played on a sodden pitch, the home side's Craig Bellamy and the visitors' Adlene Guedioura traded long-range efforts before Helguson's shot dipped wide of the post.
Another effort by Bellamy went wide before the breakthrough came on 26 minutes when Cardiff were awarded a free-kick following Greg Halford's foul on Kim Bo-Kyung.
Bellamy's curling free-kick into the area found the unmarked Helguson at the far post, who headed home past Karl Darlow.
McGugan thought he had levelled the scores when he got the better of Aron Gunnarsson and curled home, but he was deemed to have fouled the Iceland international.
Striker Henderson then wasted a glorious opportunity to equalise after Marshall could only parry Henri Lansbury's strike.
The rebound found its way to Henderson, who could only stand on the ball before the Cardiff keeper pounced to recover.
Forest's hopes were dealt a blow three minutes before the interval when they were reduced to 10 men following Henderson's dismissal.
The defender's arm caught Helguson in the face as both players challenged for the high ball and the referee adjudged it to be a straight red card offence.
The sides had been evenly matched up until Henderson's dismissal and Cardiff made the most of their numerical advantage in the second half.
Forest's woes continued after the restart when Halford was carried off after being caught in the face by Gestede's leg as he attempted a clearing header.
The home side were now fully in control and another free-kick from Bellamy clipped the outside of the post before they doubled their advantage.
Forest failed to clear the danger and from Andrew Taylor's left-wing cross substitute Gestede rose above the defence to power home a header to double Cardiff's lead.
Darlow made good saves to deny Kim and Bellamy before Leon Barnett flashed a header wide while, for Forest, McGugan fired over the bar.
Efforts from Bellamy and substitute Craig Noone hit the post late on as Cardiff secured victory to put them on the brink of promotion.
Cardiff City manager Malky Mackay:
"I was pleased with how we played up to the sending-off against a team who are really on form. We had to go toe to toe from the first minute and we did that.
"We got the goal and then after the sending-off it can be difficult to play against 10 men but we were absolutely on the money.
"We now have a game against Charlton, against who we gave our poorest performance of the season at The Valley, and we know we will have a tough game against them here."
Nottingham Forest manager Billy Davies:
"I don't think he [Henderson] intentionally put his elbow up to the boy's face. I think his elbow has risen and connected with his face, but under the rules I don't think we can have any complaints about the red card at all. The referee had no choice.
"The run had to come to an end at some point. We have four games left and we know we need at least two wins. There will be plenty of movement in the coming weeks but it's the table at the end of the season that matters. It's all to play for."
- 01 Marshall
- 02 McNaughton
- 03 Taylor
- 06 Turner
- 25 Barnett
- 13 Kim Bo-Kyung
- 17 Gunnarsson
- 18 Mutch Booked (Whittingham - 87' )
- 14 Smith (Noone - 74' )
- 22 Helguson (Gestede - 46' )
- 39 Bellamy
- 32 Lewis
- 31 Nugent
- 07 Whittingham
- 11 Conway
- 16 Noone
- 15 Gestede
- 20 Mason
- 12 Darlow
- 15 Halford Booked (Collins - 49' )
- 32 Ward
- 36 Jara Booked
- 07 Guedioura Booked (Moussi - 74' Booked )
- 08 Cohen
- 10 McGugan
- 22 Lansbury Booked
- 28 Majewski (Tudgay - 46' )
- 09 Henderson Dismissed
- 23 Blackstock Booked
- 31 Evtimov
- 03 Harding
- 05 Collins
- 06 Moussi
- 11 Reid
- 20 Tudgay
- 24 Sharp
Live Text Commentary
Full Time The referee signals the end of the game.90:00 +2:40
Dexter Blackstock fouled by Leon Barnett, the ref awards a free kick. Chris Cohen takes the free kick. The referee blows for offside against Dexter Blackstock. David Marshall takes the free kick.90:00 +2:06
Craig Noone crosses the ball.90:00 +0:03
Close range effort by Craig Noone misses to the left of the target.84:45 Substitution
Substitution Jordon Mutch leaves the field to be replaced by Peter Whittingham.84:45
Shot from just outside the box by Jordon Mutch misses to the left of the goal.84:45 Booking
Booking The referee shows Guy Moussi a yellow card for unsporting behaviour.84:19
Bo-Kyung Kim fouled by Guy Moussi, the ref awards a free kick. Ben Turner takes the indirect free kick.75:28
The offside flag is raised against Rudy Gestede. Indirect free kick taken by Elliott Ward. Shot from close range by Craig Bellamy misses to the left of the target. Ben Turner challenges Dexter Blackstock unfairly and gives away a free kick. Gonzalo Jara Reyes takes the free kick. Free kick awarded for an unfair challenge on Jordon Mutch by Guy Moussi. Ben Turner takes the free kick.74:35
Shot from just outside the box by Craig Noone misses to the left of the target.73:19 Substitution
Substitution (Nottm Forest) makes a substitution, with Guy Moussi coming on for Adlene Guedioura.73:19 Substitution
Substitution Tommy Smith goes off and Craig Noone comes on.67:14
Free kick awarded for a foul by Kevin McNaughton on Adlene Guedioura. Karl Darlow restarts play with the free kick. Lewis McGugan takes a shot from just outside the penalty area clears the crossbar. Bo-Kyung Kim produces a left-footed shot from the edge of the area and misses to the left of the goal.65:46 Booking
Booking Henri Lansbury is cautioned by the ref for dissent.65:28
Assist by Craig Bellamy.65:28 Goal scored
Goal! - Rudy Gestede - Cardiff 3 - 0 Nott'm For Rudy Gestede finds the back of the net with a headed goal from close range. Cardiff 3-0 Nottm Forest.64:45
Tommy Smith takes a shot. Blocked by Elliott Ward. Inswinging corner taken by Craig Bellamy from the left by-line,63:21
Inswinging corner taken from the right by-line by Bo-Kyung Kim.62:01
Bo-Kyung Kim takes a shot. Save by Karl Darlow. Craig Bellamy takes a short corner. Craig Bellamy takes the inswinging corner, clearance made by Adlene Guedioura.59:04
Andrew Taylor provided the assist for the goal.
Goal! - Rudy Gestede - Cardiff 2 - 0 Nott'm For Rudy Gestede finds the net with a headed goal from close in. Cardiff 2-0 Nottm Forest.58:18
Direct effort from the free kick comes in from Craig Bellamy.58:18 Booking
Booking Adlene Guedioura receives a yellow card.58:04 Booking
Booking Dexter Blackstock receives a yellow card for unsporting behaviour.56:21
Free kick awarded for a foul by Dexter Blackstock on Jordon Mutch.55:06
Lewis McGugan takes a shot. Blocked by Andrew Taylor. Inswinging corner taken by Lewis McGugan from the left by-line played to the near post.51:01
Free kick awarded for a foul by Craig Bellamy on Henri Lansbury. Gonzalo Jara Reyes restarts play with the free kick. Marcus Tudgay takes a shot. Save made by David Marshall.45:37 Substitution
Substitution Danny Collins replaces Greg Halford.45:37
Corner taken left-footed by Bo-Kyung Kim, clearance by Greg Halford. Greg Halford fouled by Rudy Gestede, the ref awards a free kick. Karl Darlow restarts play with the free kick.45:01
The referee gets the second half underway.45:01 Substitution
Substitution Marcus Tudgay comes on in place of Radoslaw Majewski.45:01 Substitution
Substitution Rudy Gestede on for Heidar Helguson.45:00 +4:00 Half time
Half Time The match has reached half-time.45:00 +1:53
Chris Cohen fouled by Bo-Kyung Kim, the ref awards a free kick. Chris Cohen takes the free kick.45:00 +1:02 Booking
Booking Jordon Mutch is cautioned.45:00 +0:07
Corner from left by-line taken by Craig Bellamy. Jordon Mutch handles the ball and concedes a free kick. Free kick taken by Karl Darlow.43:09
The official flags Heidar Helguson offside. Karl Darlow takes the indirect free kick.42:00
David Marshall restarts play with the free kick.42:00 Dismissal
Dismissal Red card for Darius Henderson.41:09
Heidar Helguson challenges Adlene Guedioura unfairly and gives away a free kick. Chris Cohen takes the free kick. Foul by Darius Henderson on Heidar Helguson, free kick awarded.37:47
Unfair challenge on Chris Cohen by Kevin McNaughton results in a free kick. Lewis McGugan crosses the ball from the free kick right-footed from right wing, David Marshall makes a save. Corner from right by-line taken by Chris Cohen.36:27
Foul by Bo-Kyung Kim on Gonzalo Jara Reyes, free kick awarded. Gonzalo Jara Reyes takes the free kick.35:58 Booking
Booking Gonzalo Jara Reyes booked for unsporting behaviour.34:10
Henri Lansbury takes a shot. Save made by David Marshall. Darius Henderson takes a shot. Save by David Marshall. Free kick awarded for an unfair challenge on David Marshall by Darius Henderson. David Marshall takes the free kick. Gonzalo Jara Reyes concedes a free kick for a foul on Bo-Kyung Kim. Andrew Taylor takes the indirect free kick.33:17
Shot by Tommy Smith from just outside the area goes over the net.30:46
Lewis McGugan challenges Aron Gunnarsson unfairly and gives away a free kick. David Marshall restarts play with the free kick. Bo-Kyung Kim takes a shot. Blocked by Dexter Blackstock. Inswinging corner taken left-footed by Bo-Kyung Kim, save by Karl Darlow.27:53
Free kick awarded for an unfair challenge on Kevin McNaughton by Adlene Guedioura. Free kick crossed by Andrew Taylor, save made by Karl Darlow.27:02
Greg Halford gives away a free kick for an unfair challenge on Bo-Kyung Kim. Andrew Taylor restarts play with the free kick.25:21
Assist on the goal came from Craig Bellamy.25:21 Goal scored
Goal! - Heidar Helguson - Cardiff 1 - 0 Nott'm For Heidar Helguson grabs a headed goal from close range. Cardiff 1-0 Nottm Forest.24:42
Craig Bellamy delivers the ball,24:42 Booking
Booking Greg Halford goes into the referee's book.23:13
Lewis McGugan fouled by Kevin McNaughton, the ref awards a free kick. Chris Cohen takes the indirect free kick. The assistant referee flags for offside against Darius Henderson. David Marshall takes the free kick. Unfair challenge on Bo-Kyung Kim by Greg Halford results in a free kick.21:03
Adlene Guedioura takes a shot. Blocked by Bo-Kyung Kim. Shot by Adlene Guedioura from 25 yards. David Marshall makes a save.18:25
Long distance effort from Henri Lansbury misses to the left of the goal.16:55
Jordon Mutch takes a shot. Blocked by Chris Cohen. Craig Bellamy has an effort at goal from just inside the box that misses to the right of the goal.12:59
Unfair challenge on Jordon Mutch by Henri Lansbury results in a free kick. Free kick taken by Bo-Kyung Kim. Heidar Helguson produces a right-footed shot from inside the area that clears the bar.11:12
Adlene Guedioura produces a right-footed shot from just outside the area that goes wide left of the goal.10:15
Craig Bellamy takes a shot. Karl Darlow makes a comfortable save.8:26
Henri Lansbury concedes a free kick for a foul on Craig Bellamy. David Marshall takes the free kick.5:52
Foul by Adlene Guedioura on Tommy Smith, free kick awarded. Leon Barnett takes the free kick. Free kick awarded for a foul by Kevin McNaughton on Lewis McGugan. Free kick taken by Chris Cohen.2:51
Jordon Mutch fouled by Henri Lansbury, the ref awards a free kick. Indirect free kick taken by Kevin McNaughton.0:00
The referee gets the game underway.
Live data and text provided by our data suppliers