Henriette Reker, an independent candidate running for Sunday’s mayoral elections in Cologne, was attacked during an outdoor campaign event by a 44-year-old man who shouted against the refugee policies of the government before being detained by a police officer.
Four other people from the campaign team were also wounded, one of them seriously.
The 58-year-old politician has undergone surgery for serious neck wounds.
Director of Cologne’s Police Department Wolfgang Albers said at a press conference that Reker was in stable condition but added that she is “not out of the woods yet”.
Police officer Norbert Wagner, head of the police investigation team, said the detained German citizen apparently had xenophobic motivations.
“In his initial testimony the suspect said that he has deliberately targeted Ms. Reker. He also said that he committed this act with a xenophobic motive,” Wagner told a news conference.
The suspect was living in Cologne for the past 15 years and was unemployed, he added.
Eyewitnesses said the man shouted “I have to save our society from such people” after the attack.
The prominent politician Henriette Reker was known for her pro-refugee stance and activities for the integration of immigrants in Cologne.
Backed by the Christian Democrats, Free Democrats and the Greens, she has a good chance of securing the mayorship.
The premier of Germany’s northern state of North Rhine-Westphalia, Hannelore Kraft, condemned the attack and said that it targeted democracy and the whole society.
Kraft joined representatives of other political parties in the evening in forming a human chain in front of Cologne’s City Hall against extremism and in solidarity with Henriette Reker.
German authorities are alarmed by growing violence against refugees and pro-refugee politicians in recent months, as far-right and populist parties exploit growing refugee influx to the country.
More than 490 criminal attacks have been committed against asylum centers so far this year, and two-thirds of the identified suspects were ordinary citizens who were not known to police before as far-right extremists, according to the Interior Ministry.
Since January, Germany has taken in around 577,000 refugees — more than double the figures for the whole of 2014, when 280,000 arrived. Germany expects 800,000 asylum applications by the end of the year.