Frank James, 62, is accused of donning a construction worker's helmet, vest, and gas mask before firing smoke grenades.
Following the attack, a massive 30-hour manhunt was launched.
Mr James was apprehended in Manhattan on Wednesday afternoon after police received a tip, according to police.
"My fellow New Yorkers: we got him," Mayor Eric Adams said during a news conference via video.
Officials said Mr James was the sole suspect in the shooting at Brooklyn's 36th Street subway station on Tuesday morning, which injured 23 people, 10 of whom were shot.
The attack reignited calls to address violence in the city's public transportation system.
EmoticonEmoticon