Switzerland, who reached the round of 16 in the two previous World Cups, struck at the start of the second half with Xherdan Shaqiri cutting into the box and Embolo tapping in what proved to be the winner.
An almost identical move just past the hour almost saw the Swiss score again but Ruben Vargas’s shot was pushed wide by keeper Andre Onana, who kept his team in the game.
The Swiss now play Brazil on Monday, with Cameroon taking on Serbia.
Uruguay draw with South Korea
Uruguay faltered in their World Cup opener against a lively and energetic South Korea after they were held to a 0-0 draw in Group H.
Clear-cut chances were rare for either side at the Education City Stadium and although Uruguay created more goalscoring opportunities, neither team were able to register a shot on target.
Uruguay captain Diego Godin was denied by the woodwork while South Korea forward Hwang Ui-jo blasted over the bar, leaving both teams to rue missed chances.
Uruguay’s first sight of goal came in the 19th minute through Federico Valverde, who connected with Jose Maria Gimenez’s pass and took a touch before firing a half-volley towards goal, but his ambitious attempt went just over the bar.
The South Americans had begun to find their footing when South Korea, having been patient so far, disrupted their rhythm and launched a counter-attack from a Uruguay corner before the half-hour mark.
Son Heung-min picked up the ball on the left flank and cut inside, skipping past two Uruguay defenders before curling a right-footed effort towards goal, but left back Mathias Olivera was able to clear it away.
South Korea should have taken the lead in the 34th minute when Moon-hwan Kim fizzed the ball into the penalty area and into the path of Hwang in front of goal, but the forward could not keep his composure and sent it over the crossbar.
The closest Uruguay came to scoring in the first half was just before the break, when centre back Godin rose highest to power a header from Valverde’s corner, but it bounced off the left post and away from goal.
Gimenez made a crucial tackle to deny Son five minutes after the restart after a flowing move from South Korea, while Jung Woo-young blocked midfielder Rodrigo Bentancur’s powerful strike at the other end.
Uruguay saw more of the ball but found few chances to break through the South Korean defence until the closing stages, when Valverde unleashed a thunderbolt in the final minute of regulation time that struck the top of the post.
News, results and expert analysis from the weekend of sport sent every Monday. Sign up for our Sport newsletter.