The move relaxes some of Europe's strictest nationality laws and will benefit the country's Turkish community.
Current rules oblige children of immigrants from most non-EU countries to choose at the age of 23 between German citizenship or that of their parents' country of origin.
The dual passport issue has long rankled among the roughly three million people of Turkish origin living in Germany, just under half of whom have taken German citizenship.
The draft law approved by the government allows young people to opt for two passports if, at 21, they can prove they have lived in Germany for at least eight years, gone to school in the country for six years, gained school-leaving qualifications there or completed vocational training in Germany.
Aydan Oezoguz, Germany's federal commissioner for migration, refugees and integration, said: "That's a great signal for many young people in our country. Hundreds of thousands can breathe a sigh of relief."
"I'm pleased that in future many young people will no longer have to decide against their parents' nationality or even become foreigners in their own country."
However, Turkish community leaders have criticised the law as it applies only to youngsters and not older people who have often spent decades in Germany.