Punches were thrown as police struggled to quell the violence. One witness said the fighting only lasted a few minutes but was "very intense".
A political group calling themselves Party For Freedom, which is opposed to multiculturalism and open borders, was responsible for picketing the expo.
They were reportedly met by anti-fascist group Antifa with members arriving in black clothing and covered faces.
"(Antifa protesters) rocked up in a group and started punching people," witness Erik Anderson told the The Herald Sun.
"I saw some turn up, but then hide as they were waiting for more. Their intention when arriving was to start a fight.
"It wasn't one-sided once it started though.
"There was a lot of punches thrown, brawling people using flag (poles) to push people away," he said.
A man believed to be affiliated with the Party For Freedom group was taken to hospital after suffering head injuries. He was reportedly in a stable, but serious condition.
The Antifa group have previously been involved with protests that marked the 10th anniversary of the Cronulla riots.
Halal expo director Syed Atiq ul Hassan said about 2000 people had peacefully attended the event, which aimed to "spread awareness about the significance of Halal food, products and services".
"They are two groups who have their own issues and they fought," he said. "(It) had nothing to do with us".
An anti-racism rally was held on the same day in Melbourne's CBD.
Members of the anti-racist campaign gathered in Federation Square about 2pm Sunday to protest the far right-wing United Patriots Front, who earlier had announced a rally would be held to mark the anniversary of an anti-Muslim rally they held last year.
The counter protest came in the wake of the UPF group unveiling a "Stop the mosques" banner at the Collingwood AFL game on Friday night, sparking strong condemnation from the AFL, the club and political figures, including Foreign Minister Julie Bishop.
- news.com.au