South Australia looked right in the hunt at 4/295 after the Bulls posted 5/363 and had their total reduced to 359 due to a rain delay, albeit with only 49 overs allowed for the SA chase.
But when Alex Carey (25 from 17 balls) departed and Callum Ferguson's second successive century was brought to an end on 101, the Redbacks lost 6/49 to bow out of the competition.
Ferguson's knock came off just 80 balls, as South Australia looked likely to pull off the second-highest successful run chase in the competition's history before he holed out at deep cover point off Mark Steketee.
Left-arm orthodox spinner Matt Kuhnemann (3/60) was the Bulls' star with the ball, claiming the key wickets of Jake Weatherald (69 from 54) and Tom Cooper (35 from 39) along the way.
The win means the Bulls - who finished last after the round robin part of the tournament - will face second-placed Tasmania in the semi-final on Saturday for a spot in the decider.
Chris Lynn was one of four half-centurions for Queensland, as Sam Heazlett (83 from 59 balls), Joe Burrns (80 not out from 77) and James Peirson (70 from 49) helped the team to the fourth highest one-day score in their history.
Two-time Neil Dansie Medallist Joe Mennie (2/72) and allrounder Cameron Valente (2/77) were the only Redbacks to take multiple wickets.
South Australia will now prepare for the 2018-19 JLT Sheffield Shield competition with the State’s first four-day fixture against New South Wales beginning on 16 October at Adelaide Oval