Firefighters responded to the Colonade Apartments, a residential hotel at 550 Leavenworth St., at about 8:30 a.m. The fire was controlled about an hour later.
The suspect, 64-year-old Paul Williams, was arrested at the scene on suspicion of arson and possession of combustible materials, police spokesman Officer Albie Esparza said.
Police believe Williams set the fire inside his apartment but have not identified a motive.
Fire department spokeswoman Lt. Mindy Talmadge said two units on separate floors were damaged by flames. A total of nine units are uninhabitable due to fire, smoke or water damage.
One firefighter suffered minor injuries fighting the blaze, Talmadge said. She said the fire caused an estimated $550,000 in damage to the building and $300,000 in damage to its contents.
The 26-unit building was evacuated while firefighters battled the blaze. The residents who were displaced were given temporary shelter, according to the American Red Cross.
The shelter will close today but the Red Cross is offering to find hotel rooms for a few days more for those who do not have family or friends to stay with, a spokeswoman said.