Fulham piled the pressure on Cardiff City after a late Aleksandar Mitrovic goal against Sunderland.
The hosts overturned Joel Asoro's early goal but there was more than a hint of controversy about both of their efforts.
Sunderland battled hard for the most part but were outplayed by Slavisa Jokanovic's side in the final stages.
The defeat means they will finish the season rock bottom of the Championship.
Fulham controlled the early stages of the contest but struggled to open the Black Cats up, the visitors defending well.
They had the first effort of the game when Paddy McNair flicked on a long-range pass. Ashley Fletcher taking two touches on his weaker foot before firing wide.
Teen prodigy Ryan Sessegnon struggled to make inroads down the left and it was down the other flank that Fulham threatened, Ryan Fredericks constantly searching for the overlap. He broke free 20 minutes in but Jason Steele did well to turn the ball away.
When the goal came it was against the run of play, Fletcher doing brilliant to flick a long ball to Joel Asoro. The Swede twisted and turned away from Fulham’s midfield before firing home on the edge of the area.
Fulham levelled just before the break but it was a controversial goal. Tim Ream tripped Ovie Ejaria in the box but no penalty was given. The hosts broke clear with Aboubakar Kamara teeing up Fredericks. His cross was turned into the path of Lucas Piazon who had a simple finish.
The hosts began to build up a head of steam in the second half and went close first when Aleksandar Mitrovic stung the palms of Steele, then when Tom Cairney curled an effort wide of the far post on the hour mark.
They continued to dominate proceedings and the pressure finally told as Mitrovic headed home a free-kick at the back post.
He looked to be a touch offside but the goal was given and Sunderland now know they will finish the season 24th.