The No.9 seed needed two and a half hours to overcome the 2019 French Open finalist 7-5 2-6 6-3 on Saturday.
Switzerland has now won five tennis medals in Olympic history, including three golds: Marc Rosset previously won the men's singles title in 1992, with Roger Federer and Stan Wawrinka teaming up for the men's doubles in 2008.
There were four breaks of serve in the opening six games of the contest, Bencic eventually capitalising on a first set point.
Vondrousova began to find her rhythm in the second, raining down 14 winners to Bencic's four to level the match before breaking again at the start of the third.
Bencic responded by winning the next three games and picked up another crucial break to move 5-3 ahead, dropping to her knees in disbelief after taking the win on her second match point for her first title since 2019.
She could yet complete a remarkable double as she prepares for the women's doubles final on Sunday.
Elina Svitolina had to dig deep to win an enthralling bronze medal match against Elena Rybakina.
The world No.6 lost a one-sided first set and faced a 4-1 deficit in the decider before prevailing 1-6 7-6 (7-5) 6-4.
Svitolina has made something of a habit of doing things the hard way in Tokyo, with four of her six matches going to a decider and more than 13 hours spent on court.
By contrast, world No.20 Rybakina had not dropped a set before losing in the semi-finals and looked to be in control as she raced through the opener.
Svitolina responded to take a tight second set and once more found the answer in the third when it seemed victory was slipping away, eventually winning Ukraine's first ever tennis medal after a gruelling two hours and 24 minutes.
"To win such a big battle for the bronze medal definitely means the world to me," she said. "Everyone in Ukraine is watching – we don't win so many medals, you know – so for sure, it's very special for me and for Ukraine.
"I was upset in the beginning, but I got back, pulled myself together. This was a hell of a match for me, but fighting for a bronze medal meant a lot to me and I was focused on that."
There was another first in the women's doubles match as Brazil ended its long wait for a tennis medal thanks to Laura Pigossi and Luisa Stefani.
The pair saved four consecutive match points in the deciding tie-break as they beat Wimbledon finalists Veronika Kudermetova and Elena Vesnina 4-6 6-4 (11-9).
"Words can't express what this medal means," Pigossi said. "It's a dream. I always wanted this medal, I always wanted this. I'm over the moon and speechless.
"Everything I've done, everything I've given up to get here, I always thought it was worth it, but now I have a medal to prove it. And we know that everyone in Brazil was behind us."