The rightwing Swiss People's Party and the Greens have made the biggest gains in Sunday's parliamentary elections.
The rightwing posted a historic result, while the centre-left Social Democrats suffered a major defeat. The four main parties pledged to continue their long-standing cooperation despite an unusually heated election campaign.
The People's Party took 29 per cent of the vote in the elections for the House, up 2.3 per cent on 2003, according to the Federal Statistics Office.
This is the best result among the four governing parties since 1919, securing 62 of the 200 seats in the House.
The Social Democrats suffered the biggest loss, dropping nine seats and taking 19.5 per cent of the vote, down by 3.8 per cent on 2003.
The Radicals lost five seats as their share of the vote dropped 1.7 per cent to 15.6 per cent, while the other centre-right party, the Christian Democrats, recorded slight gains, winning three seats and 14.6 per cent, up 0.2 per cent.
These four parties have held more than 75 per cent of the seats in parliament for decades.
The true winners of the 2007 elections are the Greens. They boosted their number of seats in the House to 20, from 14. Their share of the vote increased to 9.6 per cent from 7.7 per cent.
The Greens also won their first seat in the 46-member Senate. Run-off elections will be held in eight of the country's 26 cantons next month.
The president of the People's Party, Ueli Maurer, said his party was committed to working for consensus in the cabinet in an apparent reversal of its confrontational style in the election campaign.
The Social Democratic Party admitted defeat, after posting their worst result since 1991. Party leaders said they had failed to convince voters with a programme of social and environmental issues.
Mud-slinging in the run-up to election day increased voter interest slightly, and turnout was at an above-average 48.8 per cent.
The campaign was dominated by controversy over Justice Minister Christoph Blocher and his People's Party which ran on a nationalist, anti-crime and anti-welfare ticket.
A controversial People's Party poster campaign depicting white sheep kicking a black sheep off a Swiss flag drew worldwide media attention and criticism from the United Nations.
Other issues, such as climate change, taxes, social security and unemployment were pushed into the background.
The increasingly aggressive campaign escalated into violence at a rally in the capital, Bern, two weeks ago.
The campaign in the run-up to the 2007 election was the most expensive in Swiss history with parties spending an estimated SFr50 million ($42 million).
No detailed figures are available, and Switzerland does not have a transparency law on the financing of political parties.
More than 3,100 candidates, including 44 Swiss expatriates, ran for seats in parliament for the next four-year term.
The two chambers will choose the new cabinet at a joint meeting in December.
swissinfo, Urs Geiser
Voters chose the 200 members of the House of Representatives and most members of the Senate for the next four-year term.
The four main parties – People's Party, Social Democrats, Radicals and Christian Democrats – control more than 75% of the seats in parliament and share the seven cabinet posts.
An alliance of Greens and other leftwing parties is the biggest opposition grouping.
Both houses of parliament will meet on December 12 to elect the new cabinet.
Swiss Abroad Candidates
A total of 44 Swiss expatriates vied for a seat in the House of Representatives - three times more than in 2003.
According to the Organisation of the Swiss Abroad (OSA), between 30% and 50% of Swiss living abroad who are registered to vote were expected to exercise their right.
Over 110,000 Swiss abroad were registered to vote.
House of Representatives
People's Party: 62 seats (+7, compared with 2003)
Social Democratic Party: 43 seats (-9)
Radical Party: 31 seats (-5)
Christian Democrats: 31 seats (+3)
Greens: 20 seats (+6)
Others: 13 seats (-2)
Total: 200 seats
Results from the elections to the Senate are incomplete.
The Green Party won its first seat in the 46-member chamber.
Run-off elections are needed in eight of the country's 26 cantons.