The Evanston police officer sprang into action when he saw the 7-year-old boy enter the Des Plaines River.
"He was underwater and I needed to help him," said Officer Sean O'Brien, Evanston Police Department.
O'Brien, 26, says he say the boy running outside near a busy intersection without adult supervision.
He got out of his vehicle to help the boy to safety.
Instead, the boy ran towards the Des Plaines River with a chunk of snow, which he threw into the water.
O'Brien then witnessed the boy jumping into the river.
O'Brien didn't hesitate to jump in after the boy.
"He was crying. I was able to grab his hand and pull him out of the water. I carried him to my car, and he was upset until he got to meet my puppy that happened to be with us," said O'Brien.
The Des Plaines Fire Department arrived on the scene to find that the boy had been rescued by O'Brien.
"He would not have lasted very long. My understanding is that he had already started to go under," said Chief Alan Wax, Des Plaines Fire Department. "It's definitely a positive story, that police officer is definitely a hero."
"It feels good. I'm happy that nothing worse happened," said O'Brien.
Des Plaines police said the boy was being watched by his grandmother, who said she glanced away for a moment to find that the child had run off.
No charges are expected to be filed.