Police have said the 31-year-old man was too injured to establish a motive, but suspected it was political. He is receiving treatment at a nearby burn trauma unit.
A Kurdish Syrian man set himself on fire outside the United Nations High Commissioner for Refugees in Geneva on Wednesday, police said.
The 31-year-old man, who lives in Germany, doused himself in petrol and attempted to access the building, according to the UNHCR.
"They extinguished the fire and saved his life," spokesman Andrej Mahecic told DPA news agency. "We are hoping for his recovery. Our thoughts are with him, and his family and his loved ones," he added.
The man was severely injured and flown to a nearby burn trauma unit at a hospital.
Local police said he was too severely injured to establish a motive, but said they suspected it was political.
The UNHCR building stands opposite from a collective shelter for asylum-seekers, including Syrian Kurds.
"I saw the flames and the security agents from the building came and then a few minutes after that the police and ambulance. There are Syrians here (at the asylum center), but I can't confirm (the man) was a resident," an employee told Reuters.
A witness at the asylum center told Reuters that the man resembled a "huge human flame," adding: "I doubt he could survive that."
aw/stb (dpa, Reuters)