Croatia has closed seven of its eight road border crossings with Serbia following a huge influx of migrants.
Officials said they had no choice after more than 11,000 people entered the country since Hungary fenced off its border with Serbia earlier this week.
Many have been taken by bus to reception centres but some say they plan to walk to neighbouring Slovenia.
Huge numbers of people heading north from the Mediterranean have created a political crisis in the European Union.
Croatian officials said roads leading to the border crossings had also been shut.
The crossing on the main road linking Belgrade and Zagreb - at Bajakovo - appeared to be the only one left open.
On Thursday, Croatian Interior Minister Ranko Ostojic said his country was "absolutely full".
He said his message to the migrants was: "Don't come here any more. Stay in refugee centres in Serbia and Macedonia and Greece. This is not the road to Europe. Buses can't take you there. It's a lie."
But a Reuters journalist at the scene reported that migrants were walking through fields to bypass one of the border crossings.
Croatian Prime Minister Zoran Milanovic said the country had "limited capacity".
Scuffles broke out in two locations on the border with Serbia on Thursday after people were left waiting for hours for transport further north.
Crowds briefly broke through police lines at Tovarnik and Batina - two of the crossings now closed.
The BBC's Lyse Doucet, at Tovarnik, said buses arrived just before midnight but not enough to transport everyone. Drivers said people were being taken to a reception centre. Thousands of people left behind spent the night sleeping on roadsides and in fields.
About 2,000 people are still waiting for transport but coaches are appearing regularly to take them away.
Source: BBC