Australia were 246 for seven when bad light ended play, still 57 behind South Africa's first innings total of 303. Ntini took five for 80.
Australia were in deep trouble at 106 for five, but Michael Hussey made 73 and shared two stands of 68, with Shane Warne (36) and Brett Lee (42 not out), before being dismissed by left-arm spinner Nicky Boje shortly before play was called off for the day.
Australia's troubles started with the first ball of their innings when Langer, playing in his 100th Test, ducked into a bouncer and suffered a blow on the right earpiece.
He was forced to retire hurt and taken to hospital for a scan. No major damage was revealed and Langer returned to the team hotel. It was not known whether he would take any further part in the match.
In his second over, Ntini had Matthew Hayden caught at gully.
There was a frenetic stand between captain Ricky Ponting and Damien Martyn, who posted a half-century partnership in just 26 minutes off 38 balls, but it was broken by Ntini when Martyn mistimed a pull and was caught at mid-on.
Ntini claimed the key wicket of Ponting, who was caught at third slip, and trapped Andrew Symonds leg before wicket.
Ntini took four for 52 in a ten-over opening spell either side of lunch.
Australia suffered another blow when Adam Gilchrist top-edged a pull against Andre Nel and was caught at deep midwicket.
Warne played in typically unorthodox fashion as he helped Hussey stabilise the innings before becoming Ntini's fifth victim when he hooked the fast bowler to fine leg.
Lee made his unbeaten 42 off 52 balls. Although he was beaten several times on a pitch which always helped the seam bowlers, he played some fine strokes.
Hussey made his 73 off 153 balls with 11 fours before being beaten and trapped in front by a ball which turned in to the left-hander.
South Africa added 65 runs for the loss of their remaining four wickets Saturday, mainly through an attacking innings of 43 by Nicky Boje.
Australia took the second new ball seven balls into the day and almost immediately claimed the wicket of Shaun Pollock, smartly caught by Ponting at second slip off Stuart Clark.
Ashwell Prince, who held the South African innings together on the first day, took his score from 79 to 93 in just over an hour of batting as he and Boje added 34 for the eighth wicket. But he was forced onto the back foot by a delivery from Lee which he edged to Langer at second slip.
Australia clinched the series by winning the first two Tests. On their previous two tours of South Africa they won the first two Tests but lost the third.