Ackerman, playing in only his second Test, put a high-class Australia bowling attack under the pump in the first session with some audacious attacking strokes.
The left-handed batter reached his maiden Test fifty in just 62 deliveries as the Proteas went to lunch on 140 without loss, and Ackerman continued his aggressive approach after the interval.
The 30-year-old got himself to 95 from 93 deliveries, that included 12 fours and two sixes, before dancing down the pitch for another attacking shot off spinner Nathan Lyon but this time he missed the ball and was stumped by wicketkeeper Alex Carey.
"You live by the sword and you die by the sword. I've learnt that throughout my career," Ackerman said after the day's play. "To be honest, it wasn't really about pacing it; it was just in the heat of the moment, really.
"I do tend to bat on the quicker side most of the time, but I think they tried to bowl a lot of short balls at me. That challenge allowed me to score a lot quicker.
"But, yeah, I left a Test hundred out there. So I'm not really happy with that. It's good motivation for hopefully trying to get my first one."
The Proteas failed to build on the excellent start given by Ackerman and Aiden Markram, who put on a 158-run opening partnership, but collapsed in the second and final session to be 329 all out.
David Bedingham and Marco Jansen also hit half-centuries but the Proteas will be disappointed with a "few soft dismissals" according to Ackerman.
“I think before today's play, if you'd given us 329, we probably would have taken it,” he said. ""But, in saying that, I think all of us would agree that we probably left a little bit out there today.
"I think maybe a few soft dismissals among all of those. We just lacked a little bit of a big partnership after myself and Aiden got out. We just needed someone to stick around with Bedingham for maybe a session or so."