The man shot at the children, who were playing on their patio, at 9:30 p.m. Friday, the St. Louis Post-Dispatch reported.
An 8-year-old boy sustained a gunshot wound that was non-life-threatening.
His 4-year-old brother suffered a graze wound and the 12-year-old sibling was uninjured.
Officers arrived at the scene shortly after the shooting and set up a barrier.
A 2013 Hyundai broke through the barrier and police pursued the vehicle.
The chase ended after 15 minutes, the Post-Dispatch said.
Police determined that the driver was not connected to the shooting, and persisted in their investigation.
The officers arrested the shooter, whose name is not being released, at 7 a.m. Saturday, police said.