Michael Castro, 29, of Camden, was charged on Tuesday.
Police say he was behind the wheel of the car that hit the child in the 400 block of 27th Street at 3:15 p.m. on Sunday.
Investigators said it appears he tried to avoid hitting the child but, after impact, drove away from the scene and abandoned his vehicle.
Castro also allegedly removed a temporary tag from the vehicle as he left.
Castro is charged with Knowingly Leaving the Scene of a Motor Vehicle Accident Resulting in Serious Bodily Injury, Endangering an Injured Victim, Causing Serious Bodily Injury while Driving on a Suspended License or Being Unlicensed and Hindering Apprehension.
He is being held at the Camden County jail on $40,000.
The child, 21-month-old Randiel Hoida, is at Cooper University Hospital in critical but stable condition.
The toddler's family spoke to Action News on Monday. They say Randiel was with his father at the All-Star Barber Shop in the 400 block of North 27th Street. The boy walked out the door and into the street.