The 27-year-old man was arrested on Tuesday night in Gingindlovu, Captain Thulani Zwane said.
The woman was off duty when she was approached by the man in the Ngwelezane area on Tuesday at 4.30pm.
“After an argument, the suspect allegedly overpowered her and disarmed her of her service pistol and shot her four times on the body,” Zwane said.
The man fled on foot with the woman’s firearm.
The woman was taken to hospital in a critical condition.
Zwane said the motive for the shooting was not known.
The man was arrested after police followed up on information about his whereabouts.
He was found in possession of the pistol he allegedly stole from the officer.
He was facing charges of attempted murder, possession of an unlicensed firearm and robbery.
He was expected to appear in the Empangeni Magistrate’s Court on Thursday.
The officer was recovering in hospital.