Hungarian riot police have fired tear gas and water cannon to force back migrants who broke through gates at the now closed Serbia-Hungary border.
Hundreds of migrants have massed at a key Serbian crossing point near the Hungarian town of Roszke, and are involved in a tense stand-off with police on the other side of the border.
Some migrants threw missiles, including water bottles, at the police.
Many of the migrants want to reach Germany via Hungary.
The Roszke crossing point been used by tens of thousands of migrants to enter Europe’s Schengen zone, which allows people to travel between countries without restrictions.
Hungary has now closed its border after enacting new laws which make it illegal to enter the country or damage a new razor-wire border fence.
Television pictures showed fires burning and police vehicles and ambulances arriving on the Serbian side of the border, across from the massed ranks of Hungarian riot police on the other side.
AP news agency reports that several people received medical treatment from the Serbian ambulance service at the scene of Wednesday’s clashes – most were suffering the effects of tear gas but one young man had a bloody leg.
“We fled wars and violence and did not expect such brutality and inhumane treatment in Europe,” the agency quotes Amir Hassan, from Iraq, as saying.
Reuters news agency quotes the Hungarian foreign minister as saying he has asked Serbia to act against migrants who are attacking police on the border.
Meanwhile, Croatia has said it will allow migrants to travel on to northern Europe, opening up a new route a day after Hungary sealed its border with Serbia.
More than 150 migrants have crossed into Croatia from Serbia, with some of those stranded on Serbia’s border with Hungary now using the same route.
New border restrictions and a row over allocating migrants have exposed bitter divisions in Europe over the crisis.