About 1,000 people had gathered in a park in the capital Colombo on Thursday to hear speeches calling for peace when Buddhist monks who oppose concessions to the Tamil Tigers got on to the stage and erected banners.
The fight broke out between one of the speakers - a former government minister - and a monk, a Reuters photographer at the scene said.
Some more moderate monks were on the stage and found themselves dragged into the brawl.
Madampawe Assagee, a pro-peace monk, said: "They were saying we should go to war.
"We like to listen to other opinions so we let them do that but then they started fighting and we couldn't control some of our people. They tried to make it a big fight but we settled it in a few minutes."
Government 'too soft'
The hawkish monks, who are allies of Mahinda Rajapakse, the president, say the government is too soft on the separatists and want military action.
"By force, they disrupted the protest," said Jehan Perera, head of the National Peace Council, who took part in a peace march earlier in the day but had gone by the time the fight erupted.
"But I think they're the minority. Most of the people we walked past were very supportive."
"We like to listen to other opinions so we let them do that but then they started fighting and we couldn't control some of our people"
a pro-peace Buddhist monk
The pro-war monks are opposed to Tiger demands for a separate homeland for the ethnic Tamils in the north of the island.
Sri Lanka is currently facing some of the worst fighting with the Liberation Tigers of Tamil Eelam (LTTE) since a truce in 2002 after two decades of civil war.
The Buddhist Sinhalese majority dominates the country but it is also home to a significant Muslim population as well as the Tamils.