"Sweden will make an armed force of up to 855 people available to the international security force in Afghanistan until the end of 2011," they said in a statement, adding that the troop level would likely remain at the present level of 500 soldiers.
The vote came a month after Prime Minister Fredrik Reinfeldt, whose centre-right coalition came up two seats short of a house majority in general elections in September, secured a deal with the opposition Social Democrats and the Greens.
The Social Democrats and Greens, in a since-dissolved coalition with the formerly communist Left Party, had campaigned ahead of the elections on demanding a withdrawal of Swedish troops from Afghanistan.
However, the two left-wing parties shifted their position after the far-right Sweden Democrats were voted into parliament for the first time and handed the role of kingmaker.
The two parties agreed to a broad proposal, aiming to pull all Swedish combat troops out of Afghanistan between 2012 and 2014, while maintaining a largely civilian support presence after that.
The far-right Sweden Democrats and the Left Party, which have both want Swedish forces brought home sooner, opposed the motion to extend the mandate next year, but it passed easily nonetheless, with 290 votes in favour, 20 opposed and 19 abstaining.
Sweden is officially neutral and not a member of NATO and the question of how long its troops should take part in the NATO-led International Security Assistance Force (ISAF) in Afghanistan is a sensitive one.
In October, the Scandinavian country lost its fifth soldier since it first deployed troops in Afghanistan near the northern Afghan city of Mazar-i-Sharif, at the beginning of 2002.
The parliament vote also came less than a week after a suicide bomber railed against Sweden's troop presence in Afghanistan in a message sent shortly before he blew himself up near a crowded pedestrian street in central Stockholm, narrowly missing wreaking carnage among Christmas shoppers.