The crash happened at about 5 p.m. on Tuesday on Green Bay Road, just north of Hart Street in Beach Park, officials said.
A Waukegan man, 24, was driving a Chevrolet Malibu southbound on Green Bay Road when he illegally passed cars using the northbound lanes, witnesses told deputies.
Officials said two young boys were traveling in the Malibu. Neither was wearing a seatbelt; officials said a two-year-old was riding on the driver's lap.
The man crashed head-on with a GMC Sierra, driven by a 57-year-old man of Pleasant Prairie, Wisconsin.
The Wisconsin man had serious injuries and was taken to a nearby hospital.
The Waukegan man also had serious injuries. He had to be removed from the car by the fire department.
Officials said the 2-year-old boy riding on the driver's lap was taken to the hospital with critical injuries.
When asked if there was anyone else in the car, the Waukegan man said "no."
However, deputies later found a 5-year-old boy under the debris behind the driver's seat.
He was rushed to a nearby hospital where he later died.
The 5-year-old boy was identified as Sy'mere McKnight of Zion, according to the Lake County Coroner's Office.
The investigation is ongoing, and charges are pending.