Chicago police said the child was sitting in a parked vehicle in the 8300 block of S. Saginaw Ave. when multiple offenders approached on foot and fired shots around 5:45 p.m.
"Caller heard 10 shots, and someone was screaming, 'My baby!'" a dispatcher said over the police radio.
Police said the child was struck in both thighs and his hand. It was unclear if he was hit by more than one bullet.
"Don't know who you was aiming at or who you was mad at," crisis responder Andrew Holmes said. "The baby didn't do nothing to you. The baby don't have a gun to shoot back at you. The baby didn't know when to duck."
Officials said the boy is expected to survive after he was driven from the scene to nearby South Shore Hospital. He was later transferred to University of Chicago Comer Children's Hospital, police said.
As investigators combed the block for evidence, residents who didn't want to appear on camera were left shaking their heads.
"Especially on a block like this," said one resident who did not want to be identified. "Older people, homeowners, middle class. Go to work, come home, mind your business. So this is, this was personal."
Police said the child was not the intended target.
Area Two detectives are investigating. No one is in custody.