The accident involved a tractor trailer that crossed the median and smashed into a Volkswagen bus and another truck travelling in the opposite direction on a stretch of the motorway near Deitingen in the canton of Solothurn at around 12.30pm, cantonal police said.
The lorry, heading towards Zurich, was pulling a trailer carrying a 25-ton rock crushing machine when the 25-year-old driver lost control of the vehicle and it broke through a guard rail, police said.
The load slid of the trailer, which flipped, according to the report.
A car heading toward Bern was also struck.
Five ambulances, two Rega emergency rescue helicopters and fire fighters responded to the scene to treat the injured victims.
Miraculously, given the wreckage caused by the collision, no-one suffered life-threatening injuries.
"The parties had dumb luck," Solothurn cantonal police spokesman Andreas Mock told the Blick newspaper.
"No-one is hovering in danger of dying."
Among the injured, three children, passengers in the Volkswagen bus, were taken to hospital for checks, police said in a news release.
Police described injuries of other victims as ranging from slight to moderately serious.
The driver of the truck that caused the accident was treated and released from hospital, according to the release.
Authorities were forced to divert traffic heading to the Swiss capital via the Wangen an der Aare exit in the canton of Bern, while Zurich-bound vehicles were directed to the exit at Kriegstetten (Solothurn).
Tailbacks on the motorway reached ten kilometres in both direction, according to the ViaSuisse traffic centre.
Cantonal roads in the area were also plugged.
The affected stretch of A-1 motorway reopened for Bern-bound traffic at 5.30pm and an hour later for Zurich-bound vehicles, police said.
Meanwhile, Swiss Federal Railways put on extra trains to help ease the traffic, with extra staff engaged at the train stations of Bern, Olten, Basel and Zurich to deal with the extra passenger load.
An investigation into the cause of the accident is continuing.