Investigators say Dashawn James was stopped late Sunday night near his South Side home on suspicion of a curfew violation.
Police say he became combative, wrestled a stun gun from an officer and fired it.
The officer was treated for minor injuries.
The officer not shot by the stun gun suffered a shattered knee cap during a scuffle.
James now faces charges, including aggravated battery resisting arrest and disarming an officer. He is scheduled to appear in court Tuesday.