The incident occurred just before 11 p.m. near North Chesapeake and Congress roads in the Fairview section of Camden, New Jersey.
According to the Camden County Prosecutor's Office, officers were attempting to stop 25-year-old Marques Jones, of Camden, when he allegedly pointed a handgun toward the officer.
Soon after, investigators say Jones fired one shot, hitting the officer's arm.
A police sergeant accompanying the officer returned fire, hitting Jones in the body. Both the officer and suspect were transported to Cooper University Hospital. The officer is in stable condition with non-life-threatening injuries, while Jones remains in critical condition.
A criminal complaint states the pedestrian stop was part of a "crime suppression detail" and that the officer was "dressed in plain clothing and wearing his agency-issued ballistic vest clearly marked with police identifiers."
According to police, there's bruising on the officer's chest, and the bullet might've ricocheted off his bulletproof vest and into his arm.
A gun with an extended magazine and two spent shell casings was located near where Jones stood, the complaint said.
Michael Brown is a friend of the suspect and says he was here at the time of the shooting. He disputes the police account, saying his friend just had surgery after a bike accident.
"My heart goes out to both parties, but I think it's pitiful. He couldn't barely walk, so how could he shoot at somebody?" said Brown.
Jones has been charged with attempted murder, aggravated assault of a law enforcement officer, and other related offenses.
Camden County Police Chief Gabe Rodriguez says the injured officer has been on the force for two years. Sources say he is 25 years old.
Since this was an officer-involved shooting, the Attorney General's Office is investigating.
Anyone with information on the case is asked to contact Detective Timothy Jordan of the Camden County Prosecutor's Office Major Crimes Unit at 856-365-3073 and Detective Shane Gilson the Camden County Prosecutor's Office Special Prosecutions Unit at 856-225-8563.