The Brisbane Heat have stormed in to the Big Bash final thanks to a batting masterclass from fast bowler Michael Neser that helped upset the Sydney Sixers by four wickets at the SCG.
Saturday's match will be only the Heat's second time playing in the decider, and will mark the first time the team finishing fifth has qualified for the grand final since the finals structure changed in the 2019/20 season.
Without their India-bound talisman Steve Smith, the Sixers sputtered to 9-116 on a tricky SCG wicket.
But missing their own Test stars Usman Khawaja, Marnus Labuschagne and Matthew Renshaw, a Heat win was far from assured and they threatened to bottle the chase by losing 3-10 and then falling to 5-56.
With the game on an even keel late, Neser (48 not out) hit Hayden Kerr for four consecutive boundaries in an over that defined the game and sealed a famous victory with 10 balls to spare.
Batters have struggled at the SCG all summer long and when the hosts elected to bat, Brisbane's Matthew Kuhnemann (3-17) and Spencer Johnson (3-28) cashed in with the best figures of their BBL careers.
After catching Kurtis Patterson (19) to break a promising opening partnership, spinner Kuhnemann claimed out-of-sorts opener Josh Philippe (16) and skipper Moises Henriques (four) in the space of two overs.
The quick dismissals forced the Sixers back into their shell and they never got going again, managing 2-8 in the power surge and failing to hit a six all night.
Johnson denied Dan Christian (seven) a fairytale in his last game at the SCG with a length ball that careered into the wicket, before he had the Sixers' last recognised batter Hayden Kerr (16) out caught and bowled. Daniel Hughes, the Sixers' odd man out for most of the summer, top-scored with 23 runs.
The Heat found the boundary more easily than the Sixers early on, announcing their intentions when Josh Brown hit Steve O'Keefe for six on consecutive deliveries.
One of three replacements for the Heat's Test players, Sam Heazlett tried to sneak a single in on a misfield but found himself run out to triggered a collapse. In the space of 21 balls, the Heat also lost Brown (20) and Nathan McSweeney (five), both caught behind by Philippe.
Losing more scalps was the only thing that could thwart the Heat when a run a ball was all that was required and Max Bryant, another of the reinforcements, forged a game-high 30-run partnership with Neser.
Just as they were beginning to pull ahead with the largest partnership of the night, Bryant (11) sent the ball skyward in the power surge and was caught.
But Neser was undeterred and his 16 runs from four balls brought the equation squarely into the Heat's favour.
When he slogged the ball past long on, he had the biggest score of his BBL career and had batted his side to one of the great competition upsets.