Boris Faure is in intensive care after the fight with M’jid El Guerrab in central Paris which saw him “covered in blood”.
An eyewitness told the French magazine Marianne they saw M’jid El Guerrab, a centrist MP, hop off his scooter to talk to the Socialist before beating him to a pulp.
What started off as a war of words “quickly escalated into fisticuffs”, the eyewitness is reported as saying, adding Mr El Guerrab had grabbed hold of his helmet before “violently” hitting Mr Faure in the head with it.
The witness told the magazine: “They were chatting for a few minutes and then I saw the MP hit the man standing opposite him in the head with his helmet, twice. The other man collapsed, he was covered in blood.”
Another eyewitness, a security guard who tried to break up the fight, told police the Socialist official call Mr El Guerrab a “dirty Arab”, the magazine reported.
The Socialist party and Mr Macron’s Republic on the Move party have since condemned the “unjustified” act of violence committed by the centrist MP.
Mr El Guerrab said in a Facebook post Mr Faure had provoked him and hurled racist abuse at him, before apologising for losing his temper.
He said: “He hurled racist insults at me and twisted my wrist – I was trying to defend myself. But I shouldn’t have hit him … and deeply condemn all forms of violence. I should have remained passive in the face of provocation.”
Yassine Yacouti, Mr El Guerrab’s lawyer, told France Info radio his client “deeply regretted” his actions.
He said: “My client is in shock. He was attacked and threatened. He has been the victim of racist abuse.”
Relations between the two men – who have both filed a complaint against each other for assault – have become strained after Mr El Guerrab quit the Socialist party to join Mr Macron’s start-up centrist movement at the end of 2016.