Lamont Ferdinand, 21, of the 7700 block of South Wolcott Avenue, was charged with aggravated assault of a peace officer and residential burglary, said police.
Ferdinand is accused of breaking into the officer's residence in the 7600 block of South Vernon Avenue about 9 a.m. Friday, said police.
The off-duty officer was at home and opened fire, striking Ferdinand. He was treated at Stroger Hospital and has since been released, said Police News Affairs Officer Hector Alfaro.
The police officer was not injured.
Preliminary information on Friday from a police source had said there may have been more than one suspect, but Alfaro said there was no indication Saturday that police were looking for more suspects.
Ferdinand was scheduled to appear in bond court on Sunday.