Strong winds and heavy rain dampened the Boxing Day atmosphere at Cardiff despite the Bluebirds and Fulham delivering a late Christmas in South Wales.
The Cottagers eventually ran out 4-2 winners, inflicting a first Championship home loss of the season on the hosts, with man of the match Ryan Sessegnon demonstrating why he might attract interest during the January transfer window.
The versatile 17-year-old netted 12 minutes from time to make it 3-1 to the visitors. Cardiff gave themselves hope with a 92nd minute header by substitute Callum Paterson, but Stefan Johansen struck deep into added time to send the away fans into raptures.
The conditions were horrible for both sets of spectators but made for an exciting game, with the ball zipping off the surface and presenting a tough test for the goalkeepers.
Despite their team sitting second in the table behind Wolves going into the match, the home supporters were subdued throughout, while the energy of their Fulham rivals in the stands seemed to translate to the team in white.
Slaviša Jokanović’s team, seeking a third win in four games, were quicker to every 50/50, moving the ball around quicker and seeming like they wanted it more.
In the fifth minute, Johansen found himself in an advance position through on goal. Bruno Manga brought him down, but the referee waved ‘play on’ as the Fulham players appealed.
Just seven minutes later, however, their fans were celebrating as Tim Reem’s back-post header put them ahead. That blow sparked the Welsh side into life, and they began to pressure Fulham on the ball, leading to a scrappy period littered with fouls.
As the half drew to a close, Fulham again found themselves bombing forward on the break with numbers supporting the attack.
The ball was pinged to Ryan Fredericks on the right wing, but his attempted cross was cut out by Sol Bamba, and Fulham had to settle for being 1-0 up at the break.
The second half began very much like the first, with Fulham dictating the play and creating the better chances, while Neil Warnock’s men resorted to cynical fouls.
It was only a matter of time before the visitors struck again, and their pressure told in the 56th minute. Sessegnon was the provider as he coolly took the ball past his covering defender, giving him the time and space to pick out Floyd Ayité as he steamed through for the simplest of tap-ins.
This time, the celebrations were short lived, as Cardiff hit hit back a minute later with the goal of the game. A Fulham clearance landed at the feet of striker Kenneth Zohore who hit a half volley from 25 yards out which flew past Fulham keeper Marcus Bettinelli.
Suddenly, the home fans found their voices, and Fulham knew they had a game on their hands.
Warnock went for broke with a double attacking substitution in the 73rd minute, bringing on Paterson and Rhys Healey. Fulham responded by sending right winger Rui Fonte into action, with both teams chasing the win.
Fonte quickly made his mark, playing a lovely ball out to Sessegnon who chested it down and slotted calmly past keeper Neil Etheridge, seemingly sealing victory and sending some of the home fans towards the exits.
Paterson’s late goal for 3-2 felt more like a consolation effort, and with Cardiff throwing everything at Fulham to try and get the equaliser, they left themselves exposed at the back. Johansen’s audacious chip to make it 4-2 was the last kick of the game.
Fulham simply outclassed Cardiff, bossing the midfield where the contest was ultimately decided. The win kept them in 11th place, while Cardiff slipped to third behind Bristol City after they beat Reading.