The New Saints upset the odds to knock Cardiff City out of the FAW Premier Cup and book their place in the final. Even worse for the Championship promotion chasers was the defeat happened at their own Ninian Park home.
Saints were good value for the win, showing the greater intent and having two good penalty appeals turned down.
But the Welsh Premier leaders needed a blunder from Mark Howard for Mike Wilde's winner, the Cardiff goalkeeper fumbling to let the striker poke home.
Bluebirds boss Dave Jones fielded a weakened team as he concentrated on the Championship promotion race.
But the home side still fielded first-team regulars such as Kerrea Gilbert, the Arsenal loanee, Simon Walton and Jason Byrne.
Attempts at goal were limited in a cautious first half, with neither side willing to leave themselves exposed in the search for an opener.
Cardiff's best opportunity was created by full-back Gilbert's overlap down the right flank, nicely picked out by Chris Gunter.
Gilbert's cross was just overhit and striker Byrne could only scoop the ball over a relieved Gerard Doherty in the Saints goal.
TNS settled down and only a block from Gilbert denied Scott Ruscoe as his left-footed half-volley was deflected just wide.
The visitors from the Welsh Premier should have had a penalty before half-time.
But the referee waved play on despite Bradley Middleton clearly handling as Duane Courtney lifted the ball over the Cardiff defender.
TNS got their reward for the more fluid play after the break, with a goal from Wilde on 56 minutes.
Cardiff goalkeeper Howard completely missed his punch as he went for a lofted cross and Wilde gratefully stabbed the ball into an empty net.
It could have been even worse for the Bluebirds as TNS had another good penalty claim turned down as Wilde was hauled back, then Blake turned a cross just over his own net.
Gunter had the chance to bring Cardiff back on level terms as he broke late into the TNS box, but his snap shot was palmed away by Doherty.
TNS, who have reached the final for the first time, will now face either Newport County, Wrexham or Port Talbot Town.
Port Talbot are already through to the other semi-final and await the winner of Wednesday night's delayed quarter between the other two.