If Scott Parker could have fashioned a response to Fulham’s limp capitulation in last week’s local derby at Brentford himself, this would have been it. The home side were feisty from the outset, eager to mount a physical challenge to high-flying Leeds United and prove that the Championship’s automatic promotion positions were not a foregone conclusion before Christmas.

It was fitting that Josh Onomah crowned his most complete performance since moving the other way in the deal that took Ryan Sessegnon to Tottenham this summer with the winner. Plenty of brickbats have headed the young midfielder’s way after his indifferent start to life in south west London, but the desire with which he strode onto a loose ball after Aleksandar Mitrovic’s ambitious overhead kick at a corner had been blocked and lashed a venomous volley beyond Kiko Casilla spoke volumes, as did the fact that all of his team-mates rushed as one to join the joyous celebrations.

No team has come to Craven Cottage this season and dominated possession in quite the manner that Marcelo Bielsea’s side managed this afternoon, but the fact that Leeds travelled back to south Yorkshire without even a point to show for their efforts demonstrated both how Parker is growing as a tactician and how well-organised Fulham were at the back to restrict one of the division’s most progressive sides to a handful of clear cut chances.

Leeds had the first sight of goal when Helder Costa might have done better than drill a shot straight at Marek Rodak after being found by a fine Jack Harrison cross, but they were behind inside five minutes. A sweeping move saw Onomah lift a ball towards Mitrovic at the back post and the Serbian striker’s attempt to find the recalled Bobby Decordova-Reid in the centre resulted in the on-loan forward falling to the turf under the challenge of Ben White. Referee Tim Robinson’s penalty award appeared more than soft and Casilla got a hand to Mitrovic’s spot-kick, only to see the ball cannon in off the post.

A lead inside the first seven minutes was just the sort of start Parker would have scripted and Fulham’s high press initially unsettled a jittery Leeds. Bielsa’s side gradually got themselves going and could have been level midway through the first half. Former Brentford midfielder Stuart Dallas drew a fine reaction save from Rodak, who sprinted off his line and blocked with his legs, after being played in by Ezgjan Alioski, who was an early replacement for the injured Pablo Hernandez.

There was another let off moments later when Harrison deliciously cut a ball back from the byline, but Mateusz Klich’s low drive from close range was brilliantly turned onto the base of the post by Rodak. Leeds were restricted to mostly speculative efforts for the remainder of the half – with Dallas drilling wide from just outside the box after fine hold-up play from Patrick Bamford, who also headed over from Kalvin Phillips’ free-kick.

The spiky nature of the contest was encapsulated by a fracas caused by Luke Ayling’s inexplicable decision to bundle over Tom Cairney in the technical area as he sought to take a quick throw in. The Fulham captain wasn’t impeding the recycling of the ball, but the lapse in concentration was perhaps an indication that things weren’t going Leeds’ way. Bielsa was far from happy and switched to a 4-4-2 at the break, introducing Eddie Nketiah to partner Bamford.

Fulham began the second period on the front foot, with Mitrovic having a goal chalked off for offside, but there were pegged back inside five minutes by clever combination play between Nketiah and Bamford. The hosts struggled to reorganise once a promising break came to naught after Ivan Cavaleiro ran into traffic on the edge of the Leeds box and Aiolski played in Nketiah down the right. Rodak might have done better than just parry the Arsenal loanee’s shot into the path of Bamford, who was never going to miss.

Rodak made amends with a smart save to preserve parity after Harrison’s deflected cross fell kindly for Alioski, but the substitute couldn’t beat the Fulham goalkeeper with his head. At the other end, Casilla produced an outstanding save to turn Cavaleiro’s rasping drive over the bar at full stretch when it seemed destined for the top corner. That sparked a period of prolonged home pressure, which eventually culminated in the winner.

It came from a corner which Leeds couldn’t clear and, after Mitrovic had tried an acrobatic bicycle kick, Onomah lashed home his first goal since Christmas 2017 – and you could feel plenty of fury in his finish. Leeds came again with Mawson bravely blocking a Klich shot at source and, during five frantic added minutes, they laid siege to the home goal. Alioski curled narrowly over the bar after being teed up by Phillips, before Mitrovic somehow managed to clear Liam Cooper’s header off his own line as Fulham clung on to end a damaging run of three straight defeats.

The endeavour and passion on display to topple the league’s second-placed side was in stark contrast to the tepid effort at Griffin Park a week earlier – but it showed that Fulham still can mix it with the league’s best. They rode their luck at times, but this was a precious victory for Parker, who will want to follow it up with further wins over the likes of Luton, Stoke and Reading during Fulham’s festive programme.

FULHAM (4-3-3): Rodak; Christie, Bryan, Mawson, Ream; Reed (Johansen 90), Onomah, Cairney; Decordova-Reid (S. Sessegnon 90), Cavaleiro (Knockaert 90), Mitrovic. Subs (not used): Bettinelli, O’Riley, Kebano, Kamara.

BOOKED: Reed, Bryan, Mitrovic.

GOALS: Mitrovic (pen 7), Onomah (69).

LEEDS UNITED (4-1-4-1): Casilla; Ayling (Stevens 72), Dallas, White, Cooper; Phillips; Costa (Nketiah 45), Harrison, Hernandez (Alioski 3), Klich; Bamford. Subs (not used): Meslier, Berardi, Gotts, Casey.

BOOKED: Klich, Cooper, Costa, Alioski.

GOAL: Bamford (54).

REFEREE: Tim Robinson (West Sussex).

ATTENDANCE: 18,878