The child was struck around 8:30 p.m. by a dark-colored SUV in a parking lot in the 6500-block of South Racine Avenue in the city's Englewood neighborhood.
Police said the driver did not stop.
The boy was taken in good condition to St. Bernard Hospital.
A short time later, witnesses identified the driver walking on South Bishop Street.
The driver, who is under age 18, was taken into custody and issued several tickets.