Fulham rose to 13th in the table with 24 points after 20 matches. Arsenal, who were top of the table on Christmas day, have ended the year fourth after going winless in their last three matches.
The visitors started the match on the front-foot and found the breakthrough just five minutes in as Gabriel Martinelli ran into the box from the left and went for the finish.
Fulham goalkeeper Bernd Leno‘s diving parry denied Martinelli, but the ball went to Saka who finished from close range.
The hosts were unshaken by the early setback and continued to build pressure, which paid off near the half-hour mark as Tom Cairney‘s cross from the left flank was met by Jimenez for a swift finish, restoring parity.
Marco Silva’s side maintained the momentum into the second half and took the lead near the hour-mark, when Andreas Pereira‘s corner created a scramble in the Arsenal box before De Cordova-Reid fired it into the net.
The result marked the first time Fulham won a game after going a goal down in 24 league matches.