Swollen by melting snow and heavy rain, the Danube has reached record highs in Serbia, Romania and Bulgaria in recent days, threatening towns, villages and farmland.
More flooding was expected to hit the region over the weekend.
The river rose more than nine feet in many places, reaching levels of 27 feet in Serbia, 30 feet in Bulgaria and 19 feet in Romania. It has submerged several major ports and villages in Bulgaria, the country's civil defense agency said.
Some Belgrade streets were inundated and the waters flooded a railway station and a medieval fortress in the town of Smederevo, about 30 miles east of the Serbian capital.
In northern Serbia, tributaries of the Danube were flooding several towns, blocking roads and submerging farms.
Soldiers and police joined residents in laying sandbags on riverbanks.
Hundreds of homes were flooded overnight in eastern Serbia. Many residents were left without water, power or working telephones.
In Romania, authorities carried out controlled flooding to divert the water from populated areas, inundating tens of thousands of acres of farmland.
So far, authorities in Romania have evacuated more than 500 residents along the Danube and other rivers.
Flooding also threatened production at one of the Balkans' biggest power plants.
The Djerdap hydroelectric plant, located on the Danube in eastern Serbia, could be partly shut down if the river rises higher, Serbian state television reported.