Mikel Arteta made five changes from Arsenal side which cruised into the semi-finals of the Europa League with a 4-0 win at Slavia Prague on Thursday but they never looked like hitting those heights here.
But there would be VAR controversy throughout, Dani Ceballos seeing a header ruled out after Bukayo Saka had been centimetres offside in the build-up.
Then Fulham would get their penalty as referee Craig Pawson pointed to the spot on the advice of his assistant, with VAR checking Gabriel Magalhaes’ foul on Mario Lemina and then a potential offside against Ola Aina in the move leading to the spot-kick.
With both decisions standing, it was left to Maja to hammer the ball home from 12 yards and give Fulham renewed optimism of avoiding the drop.
Nketiah’s eventual leveller would stand after an offside check against Rob Holding in the build-up, with Parker exasperated on the touchline once again.
The hosts had started well, Alexandre Lacazette playing in Gabriel Martinelli with the recalled striker chipping his effort just wide.
He then forced a low save out of Alphonse Areloa after Emile Smith Rowe had forced a low ball across goal.
Fulham offered nothing going forward until the 20-minute mark when a deflected Maja shot wrong-footed home debutant Mat Ryan in the Arsenal goal and trickled inches wide of the post.
Arsenal had started well but were soon toiling to break down a stubborn Fulham defence.
The hosts thought they had finally broken through when Ceballos headed in a Hector Bellerin cross – only for VAR to spot Saka’s straying boot.
The assistant referee’s flag would soon deny Arsenal another goal, this time with a more-obvious decision against Smith Rowe, who mistimed his run as he latched onto a Lacazette pass.
Lacazette pulled a shot wide right at the start of the second half but Arsenal would again struggle to create chances.
That would come back to haunt them as Fulham were awarded a penalty, with referee Pawson pointing to the spot after guidance from his assistant.
Two VAR checks later and Maja broke the deadlock, giving Ryan no chance from the spot.
Arteta turned to Nicolas Pepe and Thomas Partey, the former coming close to levelling with his first meaningful touch as his header across goal was hacked clear.
Lacazette was then replaced by Nketiah, the France striker heading straight down the tunnel with his shirt over his head.
It would be Nketiah who provided the late heroics as Arsenal threw everything they could to earn a share of the spoils.
Ryan was thrown into the Fulham box for back-to-back late corners and got a telling glance to the second as the ball broke to Ceballos, whose shot was fumbled away by Areola but into the path of the waiting Nketiah.