Bogdan Stancu’s penalty gave Romania the advantage at a sunny Parc des Princes and the Swiss spurned a host of chances to score before Admir Mehmedi slammed home to level just before the hour mark.
Switzerland will now face France in Lille on Sunday, still looking for the points to guarantee their place in the knockout round.
France were playing Albania in Marseille later Wednesday.
Stancu is fast becoming a penalty specialist at these championships, having also scored from the spot in the 2-1 defeat to France on Friday’s opening day.
But it was Switzerland’s veteran captain Stephan Lichtsteiner who was to blame for the penalty after the Juventus man pulled the lively Alexandru Chipciu’s shirt and Russian referee Sergei Karasev pointed straight to the spot.
The penalty came against the run of play because the Swiss had the overwhelming share of first-half possession but coach Vladimir Petkovic will be furious at their wastefulness in front of goal.
The worst culprit was an unmarked Haris Seferovic who curled his shot wide in the first 15 minutes.
Seferovic had another chance five minutes later but Romanian ‘keeper Ciprian Tatarusanu denied him.
Fabian Schaer’s dippng shot was then pushed over by Tatarusanu and Blerim Dzemaili misplaced his header just before half-time.
But the Swiss burst back into the game when Macedonian-born Mehmedi slammed home a loose ball from a corner in the 57th minute after the Romanian defence failed to clear.
The Swiss began to get the upper hand after the goal, a wave of red shirts pinning back the Romanian yellow.
Stoke City’s Xherdan Shaqiri increasingly became a thorn in the Romanians’ side but he should have done better with two second-half free kicks.
Shaqiri began to stretch the Romanian defence but the Swiss could ultimately not find a second goal.