Young defender Jordan Elsey scored a superb stoppage time header to gift the visitors all three points against the league leaders.
Jeronimo Neumann had put the visitors deservedly ahead in the first term, following through on a penalty which he had initially failed to score, before substitute Besart Berisha netted a slickly-worked equaliser with 10 minutes remaining.
Deep into injury time, with Brisbane pushing for a winner, a fabulous header from Adelaide sub Jordan Elsey secured a thrilling upset win for Josep Gombau's side.
Brisbane right-back Diogo Ferreira received his marching orders in the 40th minute after notching his second yellow card to leave his struggling side with plenty of work to do.
In the early stages it was clear Adelaide had put an imprecise Brisbane off their game, and their superiority was rewarded when they won a penalty in the 20th minute.
Jeronimo exploited a lapse in concentration from a dawdling Shane Stefanutto to snatch the ball with just clear space and Theo in front of him.
The Brisbane goalkeeper slid in and caught the Argentinean with a trailing leg to concede a penalty and earn a yellow card, which could well have been red as he appeared to be the last defender.
Theo did well to save Jeronimo's penalty kick with his legs, but he was unable to prevent the ball rolling just out of his reach, and the Adelaide attacker darted in to poke the ball into the net for the opening goal.
Minutes later, Theo raced out of his box dangerously to snuff out another United raid, managing to just shepherd the ball away from Steven Lustica.
As the half wore on, the Roar mounted something of a fightback, with Henrique creating an excellent chance for Thomas Broich when he slipped into the box and cut the ball back, but the German shot wide from close range.
The Reds found themselves a man up as well five minutes before the break when Brisbane right back Ferreira was sent off for committing a second yellow-card offence on Zullo, whose pace advantage had proved too much to handle.
After the interval, Adelaide used their numerical advantage to take control of possession to a greater extent than most visiting teams enjoy at Suncorp Stadium.
Roar coach Mike Mulvey reacted by bringing on star striker Berisha in the 56th minute, hoping that the Albanian, who was returning from injury, could provide the spark to unsettle the Reds defence.
While the home team saw more of the ball as the second half wore on, clear chances were few and far between until Berisha brilliantly levelled the score.
A flowing move on the edge of the box passed through Broich and Matt McKay before the Albanian slammed a left-footed shot into the top of the net.
As Brisbane pushed for a winner, the lively Zullo curled in a sublime cross from the left for Elsey to nod past Theo into the far corner of the goal.
Brisbane Roar 1 (Berisha 80)
Adelaide United 2 (Neumann 21, Elsey 90+2)
Crowd: 17,593 @ Suncorp Stadium
Click here to catch all the action from Friday night's A-League game LIVE