Noah Ransom, was accused of stealing a car by force from a 34-year-old man around 6 p.m. Saturday in the 100 block of South Michigan Avenue, police said.
He was arrested moments later in the 200 block of South Aberdeen Street, police said.
Ransom was also charged with a Sept. 9 carjacking in the Gold Coast neighborhood where he allegedly took a car by force from a 41-year-old man.
He was charged with aggravated vehicular hijacking with a firearm, aggravated vehicular hijacking with a weapon, unlawful possession of a stolen vehicle and aggravated fleeing.
Ransom also faces misdemeanor charges of resisting or obstructing a peace officer and speeding 35 mph over the limit.