South Korea has ignored Taliban threats over sending troops back to war-ravaged Afghanistan, saying Seoul will deploy about 350 more soldiers in July.
The parliament approved the deployment by 148 votes to five on Thursday.
Many opposition legislators boycotted the vote, saying that a majority of Korean people oppose the mission.
South Korean opposition Democratic Labor Party members and Korean protesters on Thursday staged a rally in front of the National Assembly in Seoul to oppose the dispatch of troops.
The soldiers will protect a 140-strong South Korean aid and reconstruction team, which also includes police offers, and will be based in Parwan province just north of Kabul for 30 months.
Taliban had earlier warned that South Koreans "should be prepared for the consequences" if they dispatch a contingent, accusing Seoul of breaking a promise not to send troops back to Afghanistan.
As a close ally of the United States, Seoul sent 210 engineering and medical troops to Afghanistan in 2002.
The Asian country withdrew them in 2007 after Taliban militants took 23 South Korean church volunteers hostage and murdered two of them.