It happened just after 8:00 p.m Tuesday in the 2200 block of South 15th Street.
Police were responding to a call of a domestic dispute when they saw a 31-year-old man came at an officer with a large piece of glass.
The 1st district officer fired one shot, hitting the suspect in the side of his chest. He was taken to the Hospital of the University of Pennsylvania in stable condition.
No officers were injured.