The score was 1-1 at half-time.
The win gives world number 11 Argentina an unbeatable 3-0 lead in the five-Test series in KwaZulu-Natal, but the African champions made them work very hard for victory.
The clash was marred by a remarkable 10 players being sent to the sin bin – six Argentineans and four South Africans. Five players were banished to the bin in one particularly tempestuous 10-minute period during the second half.
Having lost the first Test 4-2 and the second 1-0, the South Africans, ranked 12th in the world, were determined to pull one back.
They went a goal up in the 20th minute through an Argentinean own goal but the visiting captain, Lucas Rey, equalised from a penalty corner four minutes before half-time.
His side went 2-1 up through a Facundo Callioni field goal in the 57th minute, during a period when the sin bin was particularly busy.
Five minutes later, Argentina established a two-goal cushion when Juan Ignacio Gilardi converted from the penalty spot.
South African striker Craig Haley pulled one back after a penalty corner three minutes from full-time but the South Americans had done enough for a series-clinching 3-2 third Test win.
The fourth Test will be played at 3pm on Monday at the Queensmead Hockey Stadium.