Cummins leads Australia to first Test victory against South Africa inside two days
Having only managed 152 in the first innings on day one, the tourists had an even worse time with the bat on day two as Australia bowled them out again for just 99, with Cummins taking 5-42.
With the hosts resuming their first innings on 145-5, South Africa appeared to have worked their way back into the contest when they mopped up the remaining five wickets for a further 73 runs, and a total of 218.
Marco Jansen claimed the wicket of Cameron Green (18) before ending Travis Head's innings at 92 after forcing the slightest of glove touches to Kyle Verreynne.
Mitchell Starc was caught and bowled by Lungi Ngidi for 14 before Kagiso Rabada cleaned up the tail by dismissing Cummins and Nathan Lyon for ducks.
However, South Africa's batting problems continued as Sarel Erwee (3) Dean Elgar (2) and Rassie van der Dussen (0) all fell early again, reducing them to 5-3.
Temba Bavuma (29) and Khaya Zondo (36 not out) put up some resistance, but after the former fell, only Keshav Maharaj (16) made double figures, with Cummins following up the wicket of both openers by cleaning up the tail of Rabada (3), Anrich Nortje (0) and Ngidi (9) to complete a five-for.
The pitch continued to trouble the batsmen though as the hosts laboured to a modest target of 34, with Usman Khawaja (2) hitting a Rabada delivery straight to Maharaj at gully.
Rabada (4-13) was doing his best to make Australia work for it, also taking the wickets of David Warner (3), Steve Smith (6) and Head (0) as they were reduced to 24-4, but a pair of high wides that raced to the boundary from him and then Nortje helped see Australia home.
Deadly Cummins takes advantage of sorry Proteas
This makes it six Test innings that South Africa have failed to reach 200 runs, and in fact, even failing to make 100 in their second effort in Brisbane, which will have been extra frustrating after keeping their opponents to a first innings lead of just 61.
Cummins led the way in the second innings though, and although he conceded almost half of the tourists' runs, he also took half the wickets as Australia gave themselves a tiny target to chase for victory.
300 up for Starc
Starc ended on 299 Test wickets after the first innings, and was clearly desperate to reach a treble century once the second began.
He had it early on when a trademark inswinging delivery flew between bat and pad to dismiss Van der Dussen and made him the seventh Australian to reach 300 in Test cricket, doing so on the same ground where he claimed his first wicket of Brendon McCullum in 2011.