Fulham will end 2019 in third place in the Championship table after Bobby Decordova-Reid's first-half goal earned them a 1-0 win at home to Stoke.
The Potters will hope for a happier 2020 as they end the calendar year fourth from bottom and out of the relegation places only because none of Barnsley, Luton or Wigan could win elsewhere.
Fulham were one of the six clubs Stoke had previously beaten in Championship action this season, with the Potters winning 2-0 in October thanks to goals from Tyrese Campbell and Lee Gregory.
Campbell came off the bench to net a stoppage-time winner in a thrilling 3-2 success over Sheffield Wednesday on Boxing Day but was back there for this one as Michael O'Neill named an unchanged side.
Fulham also required a goal in added time that day, from Decordova-Reid to secure a 3-3 draw at Luton. Scott Parker made one change, bringing Anthony Knockaert in for Ivan Cavaleiro.
Gregory's early header was easily saved by Fulham goalkeeper Marek Rodak and it was not until the 16th minute that the hosts created anything memorable in reply.
That required Jack Butland to pull off a fine parry to keep out Aleksandar Mitrovic's drive after Josh Onomah had set up the Serbia striker in the box.
Tom Cairney's loss of footing on the edge of the Stoke box allowed Tom Ince to sprint away on a counter-attack that was stopped illegally by Decordova-Reid, who was booked. Ince was not best pleased by Knockaert landing on top of him either and was also cautioned for retaliating.
Mitrovic headed a decent chance over before Decordova-Reid broke the deadlock in the 26th minute.
Butland stretched to stop Knockaert's low shot from creeping in at the far post, where his team-mate was lurking for a tap-in. Stoke hopes of an offside flag failed to materialise.
Fulham were on top as Cairney unleashed a long-ranger that was only just too high, but they were forced into a change when Onomah had to be replaced by Cavaleiro in the 37th minute.
The half ended with Butland batting away a Mitrovic header and Stoke replacing Stephen Ward with Bruno Martins Indi at left-back.
Stoke were more menacing after the break, with Sam Clucas smashing a drive into the side netting and Ince screwing an effort wide.
Jordan Cousins was next to have a go, firing straight at Rodak before Alfie Mawson was off target at the other end from a corner. Ryan Shawcross was booked for tugging Mitrovic back but Fulham were no longer the force they were.
Stoke swapped Gregory for Sam Vokes for the final 20 minutes and sent Campbell on too but it was Fulham left-back Joe Bryan who came closest to adding to the scoreline with a shot from a corner routine that Butland did well to tip over.
Stoke piled forward near the end but Rodak kept out James McClean's first-time effort and a header from Danny Batth.
No Data Analysis info