The 24-year-old was beaten with a baton by an Afghan man, who declared his conversion was a “sin”, according to police.
The alleged attack left the Iranian victim with “serious injuries”, police said.
He is believed to told some Afghan migrants that he had embraced Christianity.
He was reportedly left unconscious as a result of the alleged beating, in which 15 to 20 people were forced to intervene and pull the attacker away.
Officials in Hamburg-Eidelstedt, Germany have launched a probe into the incident.
In August, riots broke out in an overcrowded German refugee camp after an Afghan resident tore pages out of a Koran and threw them in the toilet.