Authorities said the gunman was 22-year-old Everardo Custodio.
He started shooting at a group of people, authorities said, which prompted the nearby driver to leap into action.
The driver, a 47-year-old resident of Little Italy, pulled out his legal, concealed-carry handgun and shot Custodio six times in the legs and back, the Tribune reported.
No one else was reported injured.
Custodio was hospitalized for his injuries and was charged with aggravated assault and unlawful use of a weapon. He was denied bond during a Sunday court hearing.
The Uber driver, who provided his ID and concealed-carry license to police on the scene, faces no charges, according to the Tribune.