Kazakhstan substitute Abat Aimbetov stunned Northern Ireland with a late solo strike to secure a dramatic 1-0 win at the National Football Stadium at Windsor Park.
With time running out and a scoreless draw looking the likeliest outcome, Aimbetov ran from deep inside his own half to steer home an 88th minute winner.
It was a sickening finale and a frustrating end to the June double header for Michael O’Neill and his players, coming so quickly after Friday’s narrow 1-0 defeat to Denmark in Copenhagen.
Aimbetov’s smash-and-grab made it nine points from 12 for the visitors in UEFA Euro 2024 qualifying group H, with Northern Ireland on three points from their opening four games.
The home side’s best opportunities came in either half, Craig Cathcart heading an early effort over the bar before substitute Conor McMenamin forced a superb save from Kazakh keeper Igor Shatskiy in the 77th minute.
If that had gone in the National Stadium would have erupted, but it wasn’t to be as Kazakhstan went on to scramble all three points at the death.
Northern Ireland were without Liverpool teenager Conor Bradley because of a knee injury but experienced centre back Cathcart returned to the heart of defence after missing the game in Copenhagen with a knock.
And it was Cathcart, winning his 72nd cap, who was presented with one of the best opportunities to break the deadlock in a scoreless opening half.
A goal looked certain when Isaac Price’s corner was headed back across goal by Paddy McNair but Cathcart’s thumping header fizzed over from four yards out.
Price also had Kazakhstan keeper Shatskiy panicking when the Standard Liege new boy’s shot took a deflection, the ball looping narrowly over the bar.
The visitors had a golden opportunity of their own in the opening period when Ramazan Orazov sent Maxim Samorodov racing into the penalty area.
Samorodov did well to turn inside Trai Hume and also shrugged off the covering Paddy McNair, but with the goal at his mercy the striker dragged his low shot wide of target. It was a let-off.
George Saville headed over in the 44th minute after a great turn and cross from Dion Charles before Mikhail Gabyshev rifled wide just before the half-time whistle.
The lively Orazov forced a smothered save from Bailey Peacock-Farrell at the start of the second half before Northern Ireland threatened at the other end.
Millwall midfielder Saville outmuscled two defenders and fizzed a dangerous cross across the six yard area, however the ball just eluded the lurking Dion Charles.
O’Neill made his first change of the night when he introduced Glentoran winger McMenamin as a 63rd minute replacement for injured captain Jonny Evans.
The Leicester City defender’s premature exit with an apparent shoulder knock precipitated a switch to a back four with McMenamin patrolling the right wing.
Blackpool’s Shayne Lavery and Nottingham Forest teenager Dale Taylor were also sprung from the bench as the Green and White Army bayed for a breakthrough.
All three substitutes injected a new sense of life into the contest and it was the lively McMenamin who almost opened the scoring with 13 minutes left.
The Glens forward linked up with Sunderland defender Trai Hume before unleashing a vicious shot that Shatskiy did well to palm over at full stretch.
Kazakhstan won it with a sucker punch in the 88th minute when Aimbetov raced through the heart of the home defence to steer a low shot past Bailey Peacock-Farrell.
The Astana forward, who ran from 20 yards inside his own half, nicked the ball past Cathcart and McNair before composing himself to slot home from 12 yards out.
Northern Ireland: Bailey Peacock-Farrell, Paddy McNair, Jonny Evans (captain), Craig Cathcart, Trai Hume, Jordan Thompson, Shea Charles, Alistair McCann, Dion Charles, Isaac Price, George Saville. Substitutes: (used) Conor McMenamin, Shayne Lavery, Dale Taylor, Ciaron Brown; (unused) Conor Hazard (GK), Luke Southwood (GK), Paddy Lane, Callum Marshall, Sean Goss, Carl Johnston, Aaron Donnelly.
Kazakhstan: Igor Shatskiy, Yan Vorogovskiy, Mikhail Gabyshev, Nuraly Alip, Alexandr Marochkin, Marat Bystrov, Ramazan Orazov, Ahskat Tagybergen (captain), Abzal Beysebekov, Baktiyor Zainutdinov, Maxim Samorodov. Substitutes: (used) Lev Skvortsov, Islambek Kuat, Yerkin Tapalov, Elkhan Astanov, Abat Aimbetov: (unused) Bekkhan Shaizada (GK), Danil Ustimenko (GK), Sergei Malyy, Vyacheslav Shvyrev, Arman Kenessov, Timur Dosmagambetov, Temirlan Yerlanov.