Ngidi took 3-14 in five fiery and fast overs to have the hosts rocking at 4-56 at lunch on day two after South Africa were earlier dismissed for 347.
Ngidi dismissed three of the top four Sheffield Shield run-scorers this season in his spell. He had Tim Ward (one) caught down the leg side by wicketkeeper Kyle Verreynne with the first ball of his spell before accounting for Sam Whiteman (11) and captain Peter Handscomb (nine).
His new ball partner Kagiso Rabada (1-12 off five overs) was also impressive.
Cricket Australia XI wicketkeeper Jake Doran (25no) was looking solid at lunch.
The Proteas earlier resumed at 7-335 and soon lost Rabada (10) and Verreynne (80) who were not out overnight.
Fast bowler Marco Jansen was then dismissed for a duck.
Middle-order batter Temba Bavuma did not feature in the first innings as he is nursing an elbow injury.
Captain Dean Elgar, who top-scored with 109 on day one, said after the close of play on Friday he hoped Bavuma would recover and get some valuable time in the middle before the first Test against Australia which starts on December 17 at the Gabba.
"This is an elbow injury he's had before and came right, and I think he's just jarred it a little bit," Elgar said.
"I am not too concerned just yet. Hopefully he can come out and bat in the second innings here."
Cricket Australia XI fast bowlers Lawrence Neil-Smith (3-69) and Chris Tremain (2-42) impressed on day two after left-arm orthodox spinner Matt Kuhnemann (4-78) did the job on the first day.