A state of emergency was declared by the Serbian government on Thursday, with calls made to the European Commission, Russia and Slovenia for help.
The four killed, one of them a firefighter on a rescue mission, drowned in flood waters caused by torrential rain.
More than 1,000 people have been evacuated from their homes, with soldiers and special force police officers sent to the hardest hit areas in central Serbia.
In some case, army helicopters were used to rescue people from the most remote villages that were cut off by the flooding.
Schools across the country were closed and Serbian Energy Minister, Aleksandar Antic, said power supplies were cut to around 100,000 households, mostly in central Serbia.
Flooding has also disrupted production in two coal mines supplying major thermal plants, according to Serbia’s power company, Elektroprivreda Srbije.
Transport links were badly affected, with a major highway from Belgrade to Macedonia and Bulgaria swamped. The main south-bound railway line to Montenegro’s port of Bar was also closed down.
Emergency services have been working around the clock to deal with the floods and police have set up road blocks to stop traffic travelling on flooded roads.
Neighbouring Bosnia and Herzegovina has also been hit by the floods, with hundreds forced from their homes and entire towns cut off.
People were stranded on the top floors of their homes in the central town of Maglaj, where the Bosnia river swelled to record levels, sweeping away the main bridge.
The government ordered the defence ministry to use troops to help thousands of civilians whose homes were engulfed with water. It also allocated 1 million euros to cover the initial costs of aid and rescue operations.
Even though the worst of the heavy rain is over, there will still be some heavy showers this weekend, before it turns drier early next week.