While employers said the law could cost jobs, unions criticized the final version for falling short.
Starting on January 1st of next year, 3.7 million employees will benefit from higher wages.
In the past, minimum wages were negotiated between employers and unions for each industry.
But trade unions criticized exceptions and transitional arrangements in the final bill.
The long-term unemployed will not come under the law for the first six months of a new job when their employer is not part of a collective labour agreement.
The law will also not apply to newspaper deliverers and seasonal workers until 2017. The same goes for industries where employers and unions agreed on wages below €8.50.
Minors or students in a compulsory internship as part of their studies or one lasting less than three months are also not covered by the new law.
Labour Minister Andrea Nahles praised the government's bill before the vote. "Cheap, unprotected – that is over," Nahles told lawmakers.
SEE ALSO: Lawyer paid workers €1.60 an hour
Her centre-left Social Democrats (SPD) had made the minimum wage a condition for joining Chancellor Angela Merkel's conservative Christian Democrats (CDU) in a coalition government at the end of last year.
The bill faced criticism from business leaders, but the head of the German Confederation of Trade Unions, Reiner Hoffmann, dismissed claims from employers that one million jobs were at risk.
"The minimum wage won't be a job killer," Hoffmann said.
And he criticized the government for bowing to pressure from farmers by exempting seasonal workers.
Frank Bsirske, the leader of Verdi, Germany's second biggest union, had called the final bill "brutally amputated" on Sunday.
Keeping two passports gets easier
Lawmakers are also expected to reform Germany's citizenship laws on Thursday afternoon.
The new rules will make it easier for children born in Germany to foreign parents to hold dual citizenship. So far, they had to opt for one passport before the age of 23.
If they were born in Germany and have lived here for at least eight years or were born elsewhere but attended school here for at least six years, they will no longer have to choose.
The proposal also makes exceptions for graduates of German schools or vocational programmes even if they have been in Germany for less than six years.
The new rules were a key SPD demand in last year's coalition negotiations.
MPs are also expected to vote for making it harder for citizens of Bosnia and Herzegovina, Macedonia and Serbia to claim asylum in Germany.