Chicago police said Joseph Guardia, 27, of Melrose Park, is in custody.
The victim, Joseph Kromelis, 75, has been seen walking Chicago's streets for years. He was sleeping on North Lower Wabash, near the loading dock for Trump Tower early Wednesday morning, when someone poured flammable liquid on him, then lit him on fire.
A security official working near the site of the attack used a fire extinguisher to put the flames out. Kromelis was taken to Northwestern Hospital in critical condition with burns to 65 percent of his body.
Six years ago, Kromelis was beaten with a bat and hospitalized in another brutal attack.