Casemiro scored the only goal of the game in the 83rd minute to send the Canaries into the round of 16. It was largely a cagey affair with chances at a premium.
The Seleccao continued to break forward, and their pressure eventually told seven minutes from time when Casemiro tapped home from close range.
With six points in the bag from two games, Tite's side march into the last 16 with a game to spare and face Cameroon in their last group game to seal top spot. Switzerland, meanwhile, take on Serbia in the other game and will likely need a win to reach the knockouts.
On that note, here're the player ratings for Brazil and Switzerland:
Brazil Player Ratings
Alisson - 6.5/10
The Liverpool custodian won't have an easier game than this at the World Cup, as the Swiss never really tested him.
Eder Militao - 7/10
He made a crucial block on Sow in the 60th minute to deny Switzerland a clear opportunity.
Marquinhos - 6.5/10
Ruben Vargas humiliated Marquinhos with an audacious Cryuff turn in the first half, but the latter recovered to make a block.
Thiago Silva - 8/10
The Brazil captain's prolific tackling ability was on full display, and he posed a threat from set-pieces too.
Alex Sandro - 8/10
Sandro made seven tackles and won possession 11 times, the first to do so in a World Cup game since Daniele De Rossi in 2010 for Italy against Paraguay.
Lucas Paqueta - 7.5/10
He sent Richarlison through on goal with a lovely flick in the 12th minute. Paqueta also sent in another cross for the Tottenham Hotspur winger, which Richarlison couldn't get to.
Casemiro - 8/10
He scored the winner with a cool finish into the far post.
Fred - 7/10
He got himself booked for catching Sow in the 52nd minute but helped create a chance for Brazil with a lovely pass for Vinicius.
Raphinha - 7/10
A big threat when cutting onto his left foot from the right in the first half, Raphinha went quiet after the break.
Richarlison - 6/10
He was a pale shadow of his self who netted twice against Serbia in the opener.
Vinicius Junior - 7.5/10
He appeared to have broken the deadlock for Brazil in the 64th minute, only for the referee to chalk it off for offside in the build-up. Nonetheless, Vinicius was a huge threat for Brazil.
Rodrygo (48' Paqueta) - 7/10
The Real Madrid ace bagged the assist for Casemiro's winner.
Bruno Guimaraes (58' for Fred) - 6.5/10
He looked to score a header after charging inside the box, but Switzerland goalkeeper Yann Sommer got to the ball before him.
Gabriel Jesus (73' for Richarlison) - 7.5/10
The Arsenal star injected some much-needed energy and urgency into Brazil's attack during the closing stages.
Antony (73' for Raphinha) - 6/10
He couldn't make much impact on proceedings.
Alex Telles (86' for Sandro) - N/A
The Manchester United star was a peripheral figure after coming on.
Yann Sommer - 7.5/10
A crucial figure in goal for Switzerland, Sommer kept his team in the game with his saves but couldn't keep out Casemiro's goal.
Silvan Widmer - 7/10
Vinicius stepped over his sliding challenge in the 64th minute, but Widmer breathed a sigh of relief after the goal was disallowed. He then blocked another effort from the Real Madrid winger just minutes later.
Manuel Akanji - 8/10
He burst into life in the closing stages to make crucial interventions in defence. Akanji won the ball back from Vinicius after the latter had gone two-on-one inside the box before blocking Rodrygo's effort minutes later.
Nico Elvedi - 7/10
The Switzerland player kept Raphinha firmly in check, following him like a shadow and matching his pace.
Ricardo Rodriguez - 6.5/10
Rodriguez set up a good chance for Vargas with a lovely cross, but the midfielder squandered the chance.
Remo Freuler - 6.5/10
The Nottingham Forest player made some good tackles, and his passing was accurate too.
Granit Xhaka - 7.5/10
Xhaka provided an excellent cover for the back four and also stopped his Arsenal teammate Jesus in his tracks late on with a timely challenge.
Fabian Rieder - 7/10
He came in for Xherdan Shaqiri and saw some good spells down the flanks.
Djibril Sow - 6.5/10
Sow suffered a double whammy of sorts in the attacking third in the 60th minute. He saw a first-time effort blocked by Militao; Sow followed that up quickly with another shot, but this time, Casemiro got in the way of it.
Ruben Vargas - 7.5/10
He was superb on the left flank with his energy, industry and link-up plays.
Breel Embolo - 6/10
In a massive step off from his heroics against Cameroon, Embolo was completely shut out up front.
Renato Steffen (59' for Rieder) - 6/10
He flicked a ball for Edimilson Fernandes just minutes after coming on. Fernandes instead fed Sow, whose effort was blocked by Militao.
Edimilson Fernandes (59' for Vargas) - 5/10
Vinicius Junior strolled past him as if he were a training cone, but Fernandes was lucky that Akanji stopped the Brazilian from scoring.
Haris Seferovic (76' for Embolo) - 4/10
Seferovic made just four touches in 14 minutes of action.
Michel Aebischer (76' for Sow) - 4/10
He had no impact whatsoever, much like Seferovic.
Fabien Frei (86' for Widmer) - N/A
The Switzerland player was not there for too long to be rated.