The French backed up their opening 3-0 win over Honduras by racing into a 2-0 lead as Olivier Giroud’s 16th-minute header was followed by Blaise Matuidi’s goal just 66 seconds later.
Diminutive right-winger Mathieu Valbuena put the result beyond doubt with France’s third just before the break.
Real Madrid’s Karim Benzema missed a first-half penalty, but then netted their fourth before Newcastle United’s midfielder Moussa Sissoko also claimed a second-half goal.
Only the heroics of Swiss goalkeeper Diego Benaglio prevented more French goals before Blerim Dzemaili and Granit Xhaka scored late consolation goals.
“This could have been more than perfect,” said France coach Didier Deschamps, who indicated that the two late goals conceded was the only dampener.
“We were up against a good team and to score five goals and win 5-2, it was a very good evening.
“Six points after two matches is ideal. We have to wait for the next match but we have a good goal difference and the next match will decide first and second place.”
France will have their last 16 qualification confirmed unless Ecuador beat Honduras later Friday in Curitiba.
The Swiss, who have not beaten France since 1992, may now need to beat Honduras next Wednesday to qualify for the last 16. They beat Ecuador 2-1 in their opener.
“I’m very disappointed by our defeat, it was a very bleak day for us,” said Swiss coach Ottmar Hitzfeld.
“The French were ice cold in taking their chances and they had excellent counter-attacks.”
On the anniversary of their infamous strike at South Africa 2010, France put themselves amongst the World Cup favourites.
Salvador has now seen 17 goals in three World Cup matches — the most by far of Brazil’s 12 venues — after the Netherlands routed Spain 5-1 here and Germany hammered Portugal 4-0 last Monday.
Swiss coach Ottmar Hitzfeld was forced into an early change when centre-back Steven von Bergen had to leave the field with a heavy cut over his left eye, Philippe Senderos replacing him.
Giroud, back in for Antoine Griezmann after spending most of the Honduras win on the bench, wasted little time in repaying Deschamps’ faith for the opening goal.
He met Valbuena’s floated corner and his looping header beat Benaglio despite the goalkeeper getting an outstretched glove ot the ball.
It was France’s 100th goal at World Cup finals.
The French doubled their lead 66 seconds later as Benzema snapped up a stray pass, charged into the Swiss half and put away Paris Saint-Germain midfielder Matuidi, who fired inside Benaglio’s near post.
The Swiss came perilously close to pulling a goal back as a Xhaka strike was ruled offside, then Xherdan Shaqiri’s shot flew across the French goal.
There was drama in the 31st minute when Swiss defender Johan Djourou was aharshly adjudged to have fouled Benzema to give away a penalty, but his spot-kick was blocked by Benaglio and Cabaye’s follow-up hit the crossbar.
France’s third goal was textbook counter-attacking as Benzema claimed the ball after a Swiss corner and passe dto Rafael Varane who put Giroud into space on the left wing.
Without a defender near him, the Arsenal star sprinted away and squared for Valbuena at the far post to make it 3-0 after 40 minutes.
Benzema made up for his first-half penalty miss when he fired home replacement Paul Pogba’s chip over the top midway through the second-half.
He then turned provider by putting Sissoko in space and the midfielder smashed his shot into the left-hand corner with 17 minutes remaining for France’s fifth.
Dzemali finally got the hapless Swiss on the scoreboard when his freekick flew through the French wall nine minutes from time before Xhaka drilled home after a chip from Swiss captain Gokhan Inler.
Benzema put the ball in the net one more time but his “goal” came just a couple of seconds too late as the referee had already blown for full-time.