Callum Lang headed in the visitors' 89th-minute winner to stun the Premier League hosts and prompt extended touchline celebrations from caretaker boss and lifelong supporter Pete Wild.
Denis Odoi's goal early in the second half meant Fulham were expecting to coast home, only for Oldham to turn the tide.
Bournemouth loan striker Sam Surridge equalised from the penalty spot after Ryan Sessegnon fouled Oldham captain Peter Clarke with his first act after stepping off the bench.
And then Lang buried Gevaro Nepomuceno's teasing cross, to spark exuberant celebrations on both the Oldham bench and among the delirious travelling supporters.
Replacement striker Mitrovic had spurned the chance to put Fulham back in front from the spot just moments before Oldham's winner however.
The Serbia striker's first touch after replacing captain Tom Cairney was to step up and strike the penalty – only to see goalkeeper Daniel Iversen produce a fine save at full stretch.
Fulham's penalty had only been awarded after a lengthy check from the Video Assistant Referee (VAR), with Oldham furious and insistent Christopher Missilou had not connected with Cairney, and that the Fulham skipper had taken a dive.
Mitrovic was the man fuming when Aboubakar Kamara insisted on overruling club orders to take and miss a penalty in Fulham's 1-0 win over Huddersfield on December 29.
The former Newcastle man proved the hero that day, stealing a late winner.
But in this big FA Cup shock, it was the 24-year-old's turn to miss from the spot.
That failed penalty ensured one level of justice then, before Oldham dished out their own brand of summary sentencing with Lang sealing an old-fashioned cup upset.
Fulham will also rue Neeskens Kebano missing a gilt-edged chance in front of goal on a hugely disappointing afternoon for the Cottagers.
Claudio Ranieri's men should have had more than enough to coast through despite six changes to their line-up, but whether through expectation or malaise, the hosts so often lacked any genuine impetus.
Fulham finally found some purpose after a goalless first half, taking the lead once they had warmed to the task.
Kebano cut to the byline and stood up a far-post cross, and though the well-marked Floyd Ayite could only head skywards, the ball stayed in the danger area.
Odoi raced onto the second ball, chested down and tucked away a neat finish, to calm a frustrated home crowd.
Kebano should have doubled the lead when Cairney threaded a fine ball to send him racing clear, but the Democratic Republic of Congo forward curled his effort the wrong side of the post.
That miss quickly haunted the hosts, with Sessegnon rightly conceding the penalty for holding Oldham skipper Clarke in the box.
Surridge stepped up and buried the equaliser, sending the raucous visiting fans into raptures.
Suddenly Mitrovic arrived off the bench for that disputed penalty, and when he failed with that attempt, the game threw up yet another twist.
Fulham were still coming to terms with Mitrovic's miss when Oldham stalked up the other end, and Lang thumped home to seal a fine victory.