The Bulls led 2-0 after just 10 minutes before finding themselves 3-2 down at half time.
Two goals soon after the interval had them leading 4-3 before United equalised for the second time with 20 minutes remaining.
But, skipper Luke Brattan scored his second with a delightful free kick on 83 minutes which proved the winner.
Bulls coach Mile Sterjovski praised his side's performance.
"I think we showed today that there's a lot of fight and character in the team," he said.
"Regardless of how many goals we conceded, we were still able to score more and get the result we needed."
Macarthur made the perfect start and caught Adelaide napping on eight minutes when Marin Jakolis volleyed across goal for Chris Ikonomidis to tuck the ball away.
Two minutes later the visitors doubled their lead after the Reds played themselves into trouble in defence, and a partially cleared ball found its way to Kealey Adamson, who unleashed with a half volley from just inside the area.
United pulled a goal back on 13 minutes when Stefan Mauk slipped through Zach Clough who drilled it across the face of goal to find Austin Ayoubi at the back post to tap in from close range.
Adelaide sprung to life and drew level in the 19th minute when Ryan Kitto's stunning left-foot strike from 25 metres gave Filip Kurto no chance as it ruffled the top corner.
United' went ahead on 42 minutes, this time from Mauk, who seized on confusion amongst Macarthur's defenders to loop a shot over Kurto from 20 metres.
Adelaide had two more chances before the break. Archie Goodwin blasted over from five metres and Kitto had a goal disallowed for off-side in the lead-up.
Macarthur levelled on 53 minutes with Adelaide again their own worst enemy.
Goalkeeper James Delianov's pass was intercepted by Ikonomidis and eventually found its way to Luke Brattan at the top of the box, who powered his shot low and hard down the middle.
Four minutes later, the visitors were back in front. Substitute Peter Makrillos danced past a couple of Reds defenders on the edge of the area before threading a pass for Jakolis who fired past Delianov from 12 metres.
Goodwin atoned for his first half error when he made it 4-4 on 73 minutes. Like Delianov minutes earlier, Kurto misplaced a pass out of defence which went straight to Mauk, who squared for Goodwin to rolled the ball into an unguarded net.
United's joy was short-lived as Brattan grabbed his second. The Macarthur skipper sized up a free kick on the edge of Adelaide's penalty area before lifting it over the wall and into the bottom corner.
The Reds thought they had equalised on 90 minutes when substitute Luka Jovanovic found the net, but it was ruled out for offside.
Fellow substitute Yaya Dukuly rattled the upright in stoppage time, with the post denying Adelaide once more.
United coach Carl Veart felt the Reds should have at least come away with point.
"I'm disappointed for the playing group; they worked extremely hard tonight," he said.
"They most probably deserved more out of the game than they got."