Fulham missed the chance to narrow the gap on the Championship’s top two as resurgent Reading came away with a surprise 2-1 win at Craven Cottage.
John Swift edged the Royals ahead with his third goal in as many games and Charlie Adam added a second before substitute Ivan Cavaleiro pulled one back past the hour.
A win would have seen the Cottagers move closer to the automatic promotion places, with leading pair Leeds and West Brom going head to head this weekend, but instead they slipped from third to fifth place.
For Reading, this was their first victory on New Year’s Day since 2007, when they thrashed West Ham 6-0 in the Premier League.
Fulham started brightly and were left to wonder how they did not go in front after just eight minutes.
Visiting goalkeeper Rafael Cabral produced a stunning double save to thwart Aleksandar Mitrovic and then Anthony Knockaert before stretching to deny the advancing Bobby Decordova-Reid.
Reading had won their last three games and they took the lead after 13 minutes.
Liverpool loanee Ovie Ejaria started the move with a sliding interception inside his own half before neat interplay down the left ended with Swift diverting home Tyler Blackett’s low cross.
Adam then attempted the spectacular as he tried to lob Marek Rodak from the halfway line, only to see his effort drop wide.
With the home supporters becoming restless, Fulham struggled to create clear-cut chances, Joe Bryan volleying off-target and Knockaert blazing over following a sweeping counter-attack.
Instead, the visitors struck again three minutes after the restart.
Shortly after Liam Moore had headed over the bar from Swift’s right-wing cross, Ejaria skipped past Cyrus Christie and drove in a cross from the byline which was turned home by Adam at close range.
Cottagers boss Scott Parker brought on Cavaleiro for Bryan and the change paid dividends as the on-loan Wolves winger scored to halve the deficit in the 61st minute.
Found out on the left by Knockaert, Cavaleiro cut inside from the flank before curling a shot beyond the reach of Cabral.
But the Reading keeper ensured his side all three points in added time with a stunning fingertip save to deny Mitrovic.