Interior Minister Thomas de Maiziere defended the law, which passed by a margin of 376 against 298, as "a compromise between humanity and responsibility... between generosity and realism".
The measure was agreed Tuesday in ongoing coalition talks between Chancellor Angela Merkel's conservative camp and the Social Democrats, in the hope of launching a new joint government by late March.
Germany, which has taken in more than a million asylum seekers since 2015, stopped family reunions for such "subsidiary" status refugees in March 2016 to slow the mass influx.
An increasingly heated debate on immigration has pitted left-leaning parties and pro-refugee groups against conservatives and the far-right, anti-Islam Alternative for Germany (AfD) party.
AfD lawmaker Christian Wirth argued that refugees should reunite with their families back in their home countries, for example in what he called "protected zones in Syria".
He also charged that "Merkel's 2015 decision to allow German borders to be overrun by a migrant flood... was a flagrant breach of the law" and accused her government and the EU of a plot to replace Europe's population with Arabs and Africans.
Merkel's conservatives and the Social Democrats also agreed in principle to cap Germany's total annual intake at about 200,000 asylum seekers a year.
Under the new law, family reunions will remain suspended until the end of July, after which up to 1,000 relatives a month, plus an unknown number of yet to be defined "hardship cases", will be allowed to come to Germany.
The refugee aid group Pro Asyl slammed the law as "absolutely insufficient" and a victory for the "hardliners" in Merkel's Bavarian sister party the CSU.
Disclaimer: No Business Standard Journalist was involved in creation of this content
