Hugo Rodallega hit the winner for Fulham as the Londoners edged their battle with another side in the battle at the bottom, Norwich City, at Craven Cottage. The result left the wasteful visitors, with new manger Neil Adams in charge for the first time, just two points above 18th-placed Fulham.
Juan Cala was the Cardiff hero, scoring the only goal of the Welsh side's victory at Southampton.
Those results cut Sunderland four points adrift at the bottom after Gus Poyet's men went down to a 1-0 at home to Everton, who scored when Gerard Deulofeu's cut-back was diverted into his own net by Wes Brown. Everton's victory took them above Arsenal into fourth place.
Christian Eriksen scored an injury-time equaliser as Tottenham completed a remarkable comeback from 3-0 down to draw 3-3 at West Brom.
Matej Vydra and Chris Brunt had put Pepe Mel's side two goals to the good inside four minutes at The Hawthorns. Ben Foster saved a penalty from Tottenham's Emmanuel Adebayor before Stephane Sessegnon added a third for West Brom. But a Jonas Olsson own goal, followed by Harry Kane's header and Eriksen's effort denied Mel his first home win.
Elsewhere, Crystal Palace moved close to safety when Jason Puncheon's goal condemned Aston Villa to their fourth straight defeat in a 1-0 win for the London side at Selhurst Park.
Newcastle were also beaten for a fourth straight game when they went down to a fluke Erik Pieters strike at Stoke.