Slavisa Jokanovic’s Fulham produced their most complete performance of the season to inflict a first home defeat on high-flying Cardiff City in south Wales this afternoon.

The visitors were good value for the first half lead given to them by Tim Ream’s far post header and delivered a vintage away display that brought to mind the dominance Fulham enjoyed at Huddersfield and Newcastle last season. In driving rain and against physical opposition, the Whites remained true to Jokanovic’s attacking mantra and, at times, looked liable to score from every attack.

Fulham went on the front foot early and their ambition seemed to surprise Neil Warnock’s side. They shrugged off referee Simon Hooper’s reluctance to award a penalty for a clear trip by Bruno Ecula Manga on the marauding Stefan Johansen and took the lead after Floyd Ayite and Tom Cairney worked an opening for Ream, who headed home only his fourth career goal following Kevin McDonald’s flick on after Cardiff had failed to clear a corner.

The goal only increased Fulham’s stranglehold on proceedings, with Cairney, Johansen and Kevin McDonald dictating play from the centre of midfield. With wingers Sheyi Ojo and Ryan Sessegnon pushing Cardiff back, it took until the 40th minute for the Bluebirds to register a shot on target – when Marcus Bettinelli fielded a low shot from Joe Ralls.

The same pattern continued after the interval, with Ojo finishing a quick Fulham break by cutting inside and stinging Neil Etheridge’s palms with a low shot. Fulham soon fashioned a second through a swift break down the left. Sessegnon surged into space located by a precise pass from Ayite as the white shirts swarmed forward and, after a swift one-two had carved open the Cardiff defence, Ayite swept home a clinical finish from close range.

Just as the belief was draining away from the Cardiff support, Kenneth Zohore replied with a majestic strike from outside the box. The big striker, who terrorised Fulham on their last visit here, latched onto a loose ball, flicked it nonchalantly up into the air and volley an unstoppable effort into the top corner from fully 25 yards. Suddenly, the intensity was amped up by the home side – with the Cardiff City Stadium generating some serious noise – but Fulham rose to the challenge, soaking up a period of sustained pressure before striking twice as time ticked away.

Substitute Rui Fonte spread the play superbly to find Sessegnon breaking through on the edge of the box. The teenager still had plenty to do, but beat his man in the blink of an eye before rolling an assured finish home from ten yards as Etheridge advanced to narrow the angle. It was a remarkably composed finish from Sessegnon, who has now scored on each of his four appearances against the Bluebirds.

Some sloppy Fulham defending might have set up a grandstand finish when Callum Patterson’s deft downward header beat Bettinelli, who had previously made two fine saves, but the Whites had the final say deep into added time through Johansen. The Norwegian, looking closer to his energetic best, strode onto Fredericks’ long clearance and ran half the length of the pitch before lifting a lovely finish over Etheridge.

CARDIFF CITY (4-3-3): Etheridge; Peltier, Bennett, Ecuele Manga, Bamba; Damour (Healey 73), Bryson, Ralls; Mendez-Laing, Hoilett (Paterson 73), Zohore. Subs (not used): Murphy, Halford, Feeney, Pilkington, Tomlin.

BOOOKED: Ralls.

GOALS: Zohore (57), Paterson (90+2).

FULHAM (4-3-3): Bettinelli, Fredericks, Odoi, Kalas, Ream; McDonald, Johansen, Cairney; Ojo (Kebano 86), R. Sessegnon (Piazon 90), Ayite (Fonte 77). Subs (not used): Button, Djalo, Norwood, de la Torre.

BOOKED: Ayite, Fredericks, Odoi, Bettinelli.

GOALS: Ream (12), Ayite (56), R. Sessegnon (78), Johansen (90+7).

REFEREE: Simon Hooper (Wiltshire).

ATTENDANCE: 21,662