On a day when relaxed Covid restrictions meant a capacity crowd of around 50,000, Israeli striker Eran Zahavi dampened down expectations after less than five minutes when he curled in a free-kick.
Midfielder John McGinn levelled in the 29th minute with a drive but Munas Dabbur restored Israel’s lead two minutes later after the home side failed to defend a set-piece.
Lyndon Dykes had a penalty saved by keeper Ofir Marciano just before the interval but the striker made up for a poor effort early in the second half with a VAR-awarded goal.
Deep into six added minutes of a breathless encounter, McTominay bundled in a McGinn corner and bedlam ensued.
Steve Clarke’s side remain in second place in Group F on 14 points behind runaway leaders Denmark ahead of a trip to the Faroe Islands on Tuesday where three points will be expected in the quest for a play-off spot.
But what a night in Glasgow.
For the fifth meeting in a year between the two countries, Clarke opted to put fit-again Manchester United midfielder McTominay into the defence as replacement for the suspended Grant Hanley, with Rangers’ 19-year-old defender Nathan Patterson preferred to Stephen O’Donnell at right wing-back.
Israel boss Willi Ruttensteiner had several players missing through injury and suspension but there were familiar faces in Celtic’s Nir Bitton and former Hibernian keeper Marciano, who grabbed a weak shot from Adams inside the first minute after he had been set up by Patterson.
However, with their first effort on goal, following Hendry’s foul on star man Zahavi 20 yards from goal, the visitors took the lead.
The PSV Eindhoven striker picked himself up and curled the set-piece high past flailing goalkeeper Craig Gordon and the Scottish script needed to be rewritten.
McGinn’s goal from the edge of the box came after good work by skipper Andy Robertson and Adams, the Aston Villa playmaker taking a pass from the former and curling the ball high past Marciano.
The home fans were still celebrating when a free-kick from deep into the box from captain Bibras Natcho caused all sorts of mayhem and when the ball broke loose from Gordon, unmarked Dabbur knocked it in from close range.
It was a calamitous goal for Scotland to lose and there was more woe to come after midfielder Billy Gilmour was felled by Natcho just inside the box after Marciano punched away a McGinn corner.
Dykes, who scored the winner from the spot in the 1-0 victory over Austria last month, drove the resultant penalty straight at the Israel keeper who cleared with his left foot, leaving the home support deflated through the break.
Scotland started the second half with some purpose and added pace and Dykes had the ball in the net in the 54th minute from a Robertson cross.
Polish referee Szymon Marciniak ruled it out initially, perhaps thinking the striker’s foot was too high as Ofri Arad challenged, but eventually he ran over to his pitchside monitor and awarded the goal.
Yet again, Scotland almost conceded immediately after getting back on track but this time Gordon saved a header from the unmarked Zahavi.
Moments later, at the other end, Marciano made a great save from a Dykes header and Kieran Tierney had the ball in the net – but it was ruled out for a foul by Dykes on Marciano.
It was non-stop action.
Marciano saved a point-blank effort by McGinn but had no chance when McTominay bundled in a corner from the Villa star to send Hampden Park into raptures and the Scots one step closer to a play-off spot for Qatar.