The legislation was approved by the upper house of parliament and aims to make it simpler for authorities to deport political asylum seekers from the three formerly war-ravaged states.
The measure is opposed by human rights groups, and around 200 people demonstrated against the new measures outside the Bundesrat, which represents the 16 German states.
The upper house followed the lower Bundestag chamber in backing the bill, which comes as Germany struggles with a growing influx of new arrivals.
Berlin argues that citizens in the three Balkans states don't face persecution, torture, arbitrary violence, or inhumane or humiliating treatment and that efforts need to be focused on refugees from conflict hotspots such as Syria and Iraq.
For two years Germany has been Europe's leading destination for asylum seekers, with requests jumping 64 percent in 2013, according to government data.
The far-left Linke party opposed the bill and some members of the ecologist Greens voiced concerns.
But the Greens and Social Democrat-led coalition in Baden-Württemberg state finally agreed to support the measure after getting assurances of help in other areas, including towards the building of more accommodation for asylum seekers.
Human rights groups say that most of the asylum seekers from the three Balkan states are from the impoverished Roma minority and face discrimination at home.