Eight Swiss players and 11 staff members suffered from a stomach flu in the run-up to the game, but they managed to put that behind them and produce a battlefield.
After a cautious opening half, Fridolina Rolfo gave Sweden an eight-minute lead in the second half, but Switzerland immediately pulled one back two minutes later via Ramona Bachmann.
Bennison’s winner gave Sweden their first win of the tournament, while Switzerland remains scoreless.
Sweden started well, but were spooked nine minutes into the game when Switzerland was awarded a penalty for a foul, but after consulting the monitor on the pitch, the referee reversed her decision.
Rolfo caused trouble for the Swiss, hitting a threatening cross that Kosovare Asllani couldn’t reach before getting a chance of his own, but the shot was blocked well.
Bachmann had a chance after half an hour into the game, but was given plenty of space, but her shot was easily held by Hedvig Lindahl at the nearest post.
Rolfo came close immediately after the break when her attempt narrowly missed the top corner and Stina Blackstenius threatened shortly afterwards in a one-on-one with Gaelle Thalmann, but the keeper did a good job of saving.
The early pressure paid off for Sweden as Rolfo put them up front, found space on the left and stopped the ball in the bottom left corner.
Switzerland reacted immediately from the restart as Sweden could not eliminate the danger in the penalty area and found the ball Bachmann on the edge of the area, who hit a sweet curling shot into the top corner.
Switzerland continued to take their chances and Ana-Maria Crnogorcevic had a low effort that forced Lindahl to react and tapped the ball away with a low dive to the right.
But Bennison’s brilliant attack gave Sweden a precious victory, hitting the ball home from outside the box.
Sweden almost added a third in the 87th minute when Rebecka Blomqvist found the bottom corner, but the goal was ruled out for offside.
Additional coverage by PA Sport.