Chasing 270 runs to win, SA are 3-73 at lunch on Saturday's fourth day of play in Adelaide.
SA batsman Alex Carey looms as the key - the Test star is unbeaten on 21 from 29 balls and Jason Sangha is not out 32.
SA, aiming to win the Shield for the first time in 29 years, slipped to 3-28 in a horror start at Karen Rolton Oval.
Bulls paceman Mark Steketee (2-17) and Michael Neser (1-14) made early inroads as the Queenslanders continued their stunning recovery.
The visitors were bowled out for a meagre 95 in their first innings - the lowest total of any team batting first in a Shield final - and SA posted 271 all out in reply.
The Bulls appeared down and out when 6-221, just 45 runs ahead, at lunch on day three.
But centuries from Jack Wildermuth (111) and Jack Clayton (100) triggered a comeback and Queensland reached 445 in their second innings, a 269-run lead.
The highest run chase to win a Shield final is Victoria's 2-239 against NSW in 1990/91.
SA's bid started poorly when Neser struck with just the 14th ball of the innings.
The Bulls stalwart dismissed Conor McInerney for a duck, the left-hander edging to Angus Lovell at third slip when pushing forward defensively.
Steketee, with his first delivery of the day, then removed Henry Hunt (six) when edging to second slip where Ben McDermott took a sharp, low catch.
Steketee claimed another victim when SA skipper Nathan McSweeney (14) nicked to wicketkeeper Jimmy Peirson.
And the right-arm quick should have added a third wicket when Sangha, on 13 and the score 3-37, was dropped.
The SA right-hander got a thick edge but second slip McDermott, diving in front of Usman Khawaja at first slip, turfed the catching chance.