62-year-old Frank James is charged with donning a gas mask, vest, and helmet typically worn by a construction worker before launching smoke grenades.
An extensive 30-hour manhunt was started after the attack.
According to authorities, Mr. James was captured in Manhattan on Wednesday afternoon as a result of a tip.
At a news conference, Mayor Eric Adams remarked via video, “My fellow New Yorkers: we got him.
The shooting on Tuesday morning at the 36th Street subway station in Brooklyn injured 23 individuals, 10 of whom were shot, according to officials, who identified Mr. James as the only suspect.
The attack rekindled calls for the city’s public transportation system to be made safer from violence.