The House of Representatives has approved SFr407 million to upgrade the air force's fleet of fighter jets and acquire guided missiles.
The decision came as parliament debated a raft of other military issues, as part of the smallest armament programme in recent Swiss history.
On Tuesday, the House also agreed that two Swiss soldiers should take part in peacekeeping operations in Afghanistan, and it extended a mandate for the army to help protect diplomatic missions.
The modernisation of Switzerland's 34-strong fleet of United States FA-18 aircraft was passed by 102 votes to 49.
Upgrading the fleet will cost SFr292 million while new guided missiles will cost SFr115 million.
The proposals still have to be approved by the Senate.
Two Swiss soldiers have already been serving in Kabul since March as part of the United Nations peacekeeping force.
The government approved their deployment as a matter of urgency - bypassing the constitutional requirement that armed service abroad of more than three weeks has to receive parliamentary approval.
That measure has now been approved by the House of Representatives by 117 votes to 32.
The House agreed that up to four Swiss soldiers at any one time can serve in Afghanistan.
The House also agreed that the army will continue to help protect diplomatic missions in Switzerland until the end of June next year.
Protection of embassies is usually the responsibility of Switzerland's cantonal and city police forces. Since September 11, 2001, up to 700 soldiers have been supporting this task.
By 95 votes to nine with 30 abstentions, the House agreed the number of soldiers will be increased though it will not exceed 800.
The army will help the police in Bern, Zurich and canton Geneva.
swissinfo with agencies