Germany has decided not to send ground troops to avoid confrontation with Israeli forces in a region where sensitivities still run high over the country's Nazi past.
The majority of German forces will patrol the coast to prevent weapons reaching Hezbollah fighters.
It will head the international naval force which will also include Danish, Dutch, Norwegian and Swedish sailors.
The first contingent of 1,000 soldiers will leave from the northern port of Wilhelmshaven on Thursday.
Under the UN resolution which led to the truce between Israel and Hezbollah, a total of 15,000 international troops will join a similar number of Lebanese troops in the south.
The Bundestag backed the deployment by 442 votes to 152. The ruling coalition has a commanding majority in the lower house.
Angela Merkel, the German chancellor, said the mission was one of "historic dimensions" and told the Bundestag that it was Germany's obligation to contribute to the UN force and help push for peace in the region.
"There is perhaps no other area of the world where Germany's unique responsibility, the unique responsibility of every German government for the lessons of our past is so clear than it is here," Merkel said.
About 3,000 German troops are
deployed in Afghanistan
She promised that she would press Washington to take a more active role in the region and drew a link between the Lebanon and Israeli-Palestinian conflicts.
Polls show that a majority of Germans oppose the Middle East mission.
Growing violence in Afghanistan, where Germany has almost 3,000 troops, has added to scepticism over the latest deployment.
Guido Westerwelle, leader of the Free Democrats, highlighted the risks of sending troops to the area where he said they could come into direct conflict with Israelis.
"We should be under no illusions just because this is a navy mission and not a ground mission," Westerwelle said.
Oskar Lafontaine, the Left Party leader, said that the mission would increase the risk of terrorist attacks in Germany.
It is less than eight years since Germany took part in its first foreign combat operations since the second world war.
Now it has almost 4,000 troops in the Balkans, nearly 3,000 in Afghanistan and more than 1,000 in Africa.
On Thursday, the Bundestag is expected to extend Germany's mission in Afghanistan by another year.