The win takes Scotland four points clear of Israel in second place in Group F with three matches remaining as they bid to qualify for the World Cup for the first time since 1998.
Group winners qualify automatically for next year’s finals in Qatar, with the runners-up heading into the playoffs.
Scotland trailed twice in the first half at Hampden Park to goals from PSV Eindhoven forward Eran Zahavi and Mu’nas Dabbur.
John McGinn levelled once, but home striker Lyndon Dykes missed a penalty on the stroke of half-time.
He made amends before the hour mark with an equaliser, awarded after a VAR review after the referee initially disallowed it for a high boot.
A point would have been a decent result for Steve Clarke’s men, but the hosts pushed for a winner which arrived in the 94th minute as Manchester United midfielder McTominay bundled in at the back post.
The Scots still hold a slim chance of topping the group, trailing leaders Denmark, who cruised past Moldova 4-0 in Chisinau, by seven points.
England manager Gareth Southgate rested key players including Harry Kane and Raheem Sterling as his second string impressed in a 5-0 thumping of Andorra.
England remain four points clear at the top of Group I after second-placed Albania won 1-0 against Hungary in Budapest. Poland are a point further back in third after seeing off San Marino 5-0 and next face Albania in Tirana on Tuesday.
Sweden moved within a point of Group B leaders Spain thanks to a 3-0 win over Kosovo in Solna. Greece kept their hopes of pushing into the top two themselves alive as two late goals secured a 2-0 win in Georgia.
Switzerland remain close on the coattails of European champions Italy after edging out 10-man Northern Ireland 2-0 in Geneva.
Elsewhere, Serbia moved above Portugal to the top of Group A with a 1-0 win over Luxembourg. Ukraine ended a run of five straight draws with a 2-1 victory in Finland to consolidate their grip on second place in Group D.
The Euro 2020 quarter-finalists are two points ahead of Bosnia and Herzegovina, who beat Kazakhstan 2-0, and four points behind France. (AFP)