Members of the country’s parliament voted by 340 to 192 in favour of the deployment on Tuesday as the UN secretary general, Kofi Annan, arrived in Ankara.
Turkey is expected to send a naval force to patrol the eastern Mediterranean, deploy troops to help train the Lebanese army and support allied countries in naval and air transport.
The motion approved by parliament envisages a one-year deployment, but it is not yet clear how many troops will be deployed, nor when or where.
The foreign minister, Abdullah Gul, has said the number of soldiers is not likely to exceed 1,000 but more details will be clearer following talks between Annan and Turkish leaders on Wednesday.
There is some opposition to the deployment in Turkey with some fearing the UN force will mainly serve Israeli and US interests and may force their soldiers to fire at fellow Muslims.
Thousands of protestors earlier gathered in a street near the parliament building chanting, “We will not become Israeli soldiers” and “Murderer USA get out of the Middle East“.
Several demonstrators were detained by police.
But there was not the scale of public opposition seen in 2003 when legislators rejected a government plan to allow US forces to use Turkey as a staging post to invade Iraq.
Lebanon, the US and Israel want Turkey, a member of Nato, to contribute troops as they see soldiers from Muslim countries improving the UN force’s image in the region.
Opposition parties accused the government of being a US and Israeli stooge and said Ankara should concentrate on crushing separatist Kurdish fighters, many hiding in north Iraq.
Turkey‘s close ties with Lebanon and Iraq as well as Israel make it unique in the region, and Tayyip Erdogan, the prime minister, is keen to boost his country’s role as a powerbroker.