After fast bowler Mitchell Starc returned in style with four wickets to help Australia dismiss South Africa for 242, the visitors were denied the crucial wicket of David Warner in bizarre circumstances late in the day.
Seamer Vernon Philander believed he had trapped Warner LBW for 17 with the Australian total on just 19, but umpire Aleem Dar dismissed the appeal.
The South Africans called for a review, only for replays to show it was a front foot no-ball by Philander. Their frustration was exacerbated when further replays revealed it would have been out had Philander not overstepped.
At stumps on the first day it was shaping as a costly error by Philander as the reprieve helped the free-hitting Warner get through to the close to cap a tremendous day for the home side.
Australia were in a commanding position at 105 without loss, with Warner on 73 and Shaun Marsh on 29, the latter having battled to survive an opening salvo from paceman Dale Steyn.
Warner made the most of his good fortune with some dashing strokeplay, including a six over third man off Steyn where he ended up on his backside as the ball sailed over the fence.
The left-hander reached his half-century in just 39 balls and now has 744 runs at 106.28 in Tests in Perth. The opening partnership was also a record for Australia against South Africa at the WACA Ground as the home team capitalised on the earlier good work of its pace bowlers.
Returning from a gruesome leg injury suffered in training, Starc struck with the fourth ball of the match and bowled with sustained pace as the tourists struggled after winning the toss and electing to bat.
The Australian pace attack, led by Starc (4-71) and Josh Hazlewood (3-70), struck early as the Proteas slumped to 32 for 4. Middle order batsmen Temba Bavuma (51) and Quinton de Kock, who top-scored with an aggressive 84, rallied with a 71-run stand for the sixth wicket.
But the visitors again stumbled when Bavuma and Philander (10) fell just before tea as Australia regained control. De Kock survived two decision reviews and should have been run out on 61, only to be the ninth wicket to fall when he chased quick runs with the tail.
Bavuma made a composed 51 but he fell to a brilliant catch by Shaun Marsh -- whose brother Mitchell had also taken a screamer to dismiss opener Stephen Cook (0).
Philander (10) fell to the last ball before tea, dragging an attempted pull shot back onto his stumps to give Starc his third wicket. The day also started with an outstanding Marsh catch, with Shaun's younger brother Mitchell leaping high at gully to remove Cook for a duck in the first over.
The South Africans were soon in worse trouble, with Hashim Amla also falling without score when he pushed at a Hazlewood delivery and edged to Australian skipper Steve Smith at second slip.
A tough chance from Dean Elgar was grassed on 10, but he made just two more before being caught behind by Peter Nevill from the bowling of Hazlewood with the score on just 20.
JP Duminy never looked comfortable and also benefited from a life when he was on 8, but like Elgar he could not capitalise and was caught behind for 11 off Peter Siddle.