Army lieutenant Sibusiso Madubela opened fire on his colleagues, killing eight.
Warrant officer class 1 Aldo Mattheus shot Madubela in a bid to stop him from shooting more people.
Major Zirk Coetsee's actions also helped stop further bloodshed. Both were awarded medals of bravery, Coetsee posthumously.
At the time, however, both soldiers had been wounded by Madubela.
Mattheus had been shot in the leg and Coetsee in the chest and shoulder. Ten days after the shooting, Coetsee died of his injuries.
Coetsee's widow, Captain Laetitia Kruger, accepted the medal of bravery from Lieutenant-General Gilbert Ramano.
On rampage in revenge for wage-cut
Kruger recently remarried - again to a soldier.
Mattheus is still at 1 SA Infantry Battalion, where the shooting took place.
He said he would wear his medal with pride, but would never feel proud of what he had had to do to stop the shooting.
On the day of the shooting, Madubela drew an R-4 rifle from the store under false pretences and then opened fire on his colleagues.
It is believed he did this because his wages had been cut after he went absent without leave.
In the official investigation into the incident it was found Madubela fired more than 40 shots during his killing rampage, which lasted less than a half hour. A single shot that killed him.