Referee Adam Kersey pointed to the spot after Robbie Kruse’s cross was judged to have struck the arm of Jordan Elsey.
VAR called Kersey over to consult the reply before he overturned his decision.
A scrappy contest ensued before Kruse and Elsey were involved in claims for a second Victory penalty on 23 minutes when the pair tangled inside the area.
Kersey waved play on and VAR agreed, much to the dismay of Kruse.
After controlling the majority of the first half, Halloran broke the deadlock.
Kristian Opseth was involved, teeing up Riley McGree, whose powerful shot from a tight angle could only be parried across the goal line by Lawrence Thomas.
Adama Traore attempted to clear before Halloran bundled the ball into the back of the net.
Victory almost drew level minutes later, with Andrew Nabbout fed by Jakob Poulsen, but his shot from the edge of the area went inches wide.
The visitors were much improved after the break and enjoyed a period of sustained pressure, forcing Reds keeper Paul Izzo into a number of saves.
Elvis Kamsoba was first on 55 minutes, before both Nabbout and Traore also had attempts saved almost immediately after.
Nabbout should have equalised on 70 minutes when Kamsoba capitalised on an error in midfield from the Reds and squared a perfect ball for his teammate.
But the Victory No.9 skied the ball over the cross bar with just Izzo to beat.
This appeared to spur Adelaide into action, with McGree and Michael Maria both narrowly missing within minutes of each other.
Halloran stung the palms of Thomas in injury time with the Reds’ last chance, darting inside from out wide before unleashing a venomous drive.
Nabbout had another chance to draw level with the final kick of the game after he was put through by Kruse, but Izzo was again equal to the task.