Latics were cruelly undone in the final seconds of a pulsating match by a Neeskens Kebano winner after the home side came from behind to snatch victory in agonising circumstances.
Latics were ahead at half-time thanks to an own goal by Scott Malone and a Michael Jacobs goal in injury time, and had chances to move further ahead, notably from Omar Bogle, who was a handful all afternoon.
However, just as it looked as if Latics would hold out against a very good Fulham team, disaster struck in the final seconds of the match and there was no time to respond.
There was just the one change going into the game, David Perkins returning to the midfield in place of James Weir.
Latics went in a goal to the good at the break after a half in which Fulham enjoyed more possession but all the best chances went the way of Joyce’s men.
The opener came after 26 minutes when Sone Aluko broke down the right side and pulled it back for Floyd Ayite who finished emphatically with a hard, low drive from ten yards.
But Latics were soon back into it.
Bogle had already come close when dispossessing Tim Ream and seeing his shot saved by David Button when the equaliser duly arrived, after 32 minutes. Stephen Warnock’s excellent cross from the left was right in front of Button and Scott Malone could do nothing else but divert it into his own net under pressure from Bogle.
Fulham kept pressing and went close when Stefan Johansen fired in a dangerous cross across the face of goal then Tom Cairney shot from distance but it was wide.
Just as half-time approached, however, Latics struck again after a great move, started by Sam Morsy, who found Perkins on the edge of the box. He side-footed it for Max Power on the left side, and his fizzed cross was turned in at the far post by Jacobs, who turned to celebrate in front of the Latics fans.
There was a surprise change for Latics at the break with Matt Gilks replacing Jakob Haugaard to make his debut - the Dane had taken a kick in his head as he gathered at the feet of Johansen.
Bogle had a great chance to score on 53 minutes when Morsy put him clear but he shot straight at Button. Gilks made his first significant save when he beat away an Aluko drive on 53 minutes, before the same player put a similar effort just over the bar.
Jamie Hanson was the second debut of the afternoon when he replaced Perkins after 65 minutes.
Fulham’s pressure paid off in the 71st minute when Callum Connolly was adjudged to have fouled Ayite 40 yards from goal. Johansen side footed the ball across to Denis Odoi, who rifled in a superb long-range effort to Gilks' right.
Latics could have struck back immediately when Jacobs wriggled clear in the box and his curling effort was brilliantly palmed away at full stretch by Button. Then, on 77 minutes, Bogle found space on the opposite side and his powerful drive was a yard over. These proved to be costly misses.
Will Grigg for Bogle was the final change for Latics as four minutes’ additional time was called. Jacobs almost reached a Connolly cross at the far post but it was smothered by Button and then came the killer blow.
Literally with the last kick of the game, Kebano was on the end of a slick passing move and he sidefooted past Gilks to nestle the ball into the far corner.