A 46-year-old motorcyclist driving on a road from Brunnen to Sisikon crashed head-on into the army truck after overtaking car at around 7.20pm, Schwyz cantonal police said.
The truck then collided with a van, driven by a 43-year-old man travelling toward Brunnen, police said.
Police said the collisions occurred near a tunnel on the Axenstrasse.
Both the motorcyclist and the van driver were transported by helicopter for treatment of serious injuries.
Two soldiers in the army truck were taken to hospital for treatment of minor injuries, police said.
Debris from the accident covered a nearby rail track but was cleared up after two hours.
The Axenstrasse was closed to traffic for several hours as emergency services cleared up the site.