The first shooting happened around 4 p.m. Thursday blocks from the riverfront between the Marine Villa and Mt. Pleasant neighborhoods, television station KMOV reported.
Police said an argument led to gunfire that left a 7-year-old boy with a bullet to his back and a 15-year-old boy with a graze wound.
About three hours later and several blocks southwest, a 13-year-old boy was shot in the hip, police said. Then, shortly after midnight, a 14-year-old boy sitting on his bed was shot when a bullet came through his wall, investigators said.
All four children are expected to survive their injuries, authorities said. Over the same eight hours, four adults were shot, three of them fatally, in St. Louis, police said.
The shootings mark a continuing trend from last year of growing gun violence in St. Louis, especially gun violence involving children. Well over 100 children were victims of gun violence in St. Louis in 2020, including several fatal shootings.