Match ends, Cardiff City 3, Fulham 1.
Cardiff City boosted their hopes of Premier League survival with a victory that plunged bottom club Fulham deeper into trouble.
At the end of a nervy opening half, defender Steven Caulker fired Cardiff in front from close range.
Lewis Holtby levelled just before the hour, blasting home following a corner.
But Caulker's header and Sascha Riether's own goal within four second-half minutes moved the Bluebirds up to 18th, four points ahead of Fulham.
Ole Gunnar Solskjaer's side are level on points with 17th-placed West Brom and now only in the relegation zone on goal difference.
With so much riding on the game, there was a nervous tension in the air throughout the game at the Cardiff City Stadium.
And the relief was tangible at full-time, with the home side leaving the field to rapturous applause, before controversial owner Vincent Tan was booed when he walked onto the pitch to celebrate a vital victory.
Cardiff boss Solskjaer employed a 4-5-1 formation more akin to Malky Mackay's reign than his own for a match he described as "must win" for both sides.
The Bluebirds pressed high up the pitch when Fulham were in possession and were full of attacking intent, but failed to carve out any clear-cut opportunities early on.
And it was the visitors who had the first chance, Johnny Heitinga's quickly-taken free-kick finding Ashkan Dejagah in space inside the area, but his shot hit the side-netting.
Cardiff's first opportunity fell to Fraizer Campbell, who was full of running throughout despite spending the night with his wife after she went into labour, but the striker was unable to find a way past Maarten Stekelenburg.
With Fulham attempting to deny Cardiff any space down the flanks, winger Craig Noone was forced to cut inside more than usual, and after one such run he shot narrowly wide from just outside the box.
Cardiff continued to press, and Kenwyne Jones had a powerful shot from Jordon Mutch's low cross turned behind before Caulker broke the deadlock.
The England defender finished powerfully from inside the six-yard box after Noone's cross was deflected into his path.
Fulham were more positive after the break, but Cardiff should have extended their lead when Jones headed wide from point-blank range at the far post.
And just two minutes later, the Cottagers were level as Heitinga headed a corner into the path of Holtby, who slid the ball into the empty net.
But they were level for just eight minutes, with Caulker heading home his second from a Mutch corner, the ball bouncing into the net over Stekelenburg.
And when Riether diverted the ball into his own net after Stekelenburg had saved Campbell's header, Cardiff's first top-flight double since 1961 was complete.
Check out all the best photos from today's Premier League action on the BBC Sport Facebook page.
- 35da Silva
- 8MedelSubstituted forWolff Eikremat 81'minutes
- 6TurnerSubstituted forThéophile-Catherineat 90'minutes
- 13KimBooked at 56mins
- 10CampbellSubstituted forDaehliat 72'minutes
- 15Wolff Eikrem
- 27Torres Ruiz
- 24DejagahSubstituted forKaragounisat 50'minutes
- 25WoodrowSubstituted forBentat 76'minutes
- 3RiiseSubstituted forKacaniklicat 45'minutes
- Martin Atkinson
- Shots on Target
Second Half ends, Cardiff City 3, Fulham 1.
Alexander Kacaniklic (Fulham) wins a free kick in the attacking half.
Foul by Magnus Wolff Eikrem (Cardiff City).
Attempt missed. Mats Daehli (Cardiff City) right footed shot from the centre of the box misses to the right. Assisted by Kim Bo-Kyung following a fast break.
Delay over. They are ready to continue.
Substitution, Cardiff City. Kévin Théophile-Catherine replaces Ben Turner because of an injury.
Delay in match Ben Turner (Cardiff City) because of an injury.
Attempt saved. Darren Bent (Fulham) right footed shot from the right side of the box is saved in the bottom right corner. Assisted by Giorgos Karagounis.
Attempt saved. Kostas Mitroglou (Fulham) left footed shot from the right side of the box is saved in the bottom right corner. Assisted by Giorgos Karagounis.
Attempt saved. Kim Bo-Kyung (Cardiff City) left footed shot from outside the box is saved in the bottom right corner. Assisted by Kenwyne Jones.
Attempt blocked. Steve Sidwell (Fulham) right footed shot from outside the box is blocked. Assisted by Sascha Riether.
Offside, Fulham. Kostas Mitroglou tries a through ball, but Steve Sidwell is caught offside.
Steven Caulker (Cardiff City) wins a free kick in the defensive half.
Foul by Kostas Mitroglou (Fulham).
Substitution, Cardiff City. Magnus Wolff Eikrem replaces Gary Medel.
Foul by Jordon Mutch (Cardiff City).
Lewis Holtby (Fulham) wins a free kick in the defensive half.
Corner, Fulham. Conceded by David Marshall.
Attempt saved. Kostas Mitroglou (Fulham) left footed shot from the centre of the box is saved in the top centre of the goal. Assisted by Kieran Richardson with a headed pass.