Fighting for form: Naomi Osaka's struggles continue with Madrid Open defeat
Osaka took the opening set 6-3, but world number 18 Bencic stormed back to win the second set 6-2.
It looked like Osaka had regained the momentum in the final set as she broke the Swiss player's serve and served for the match.
But Bencic put up stubborn resistance to break serve when it mattered most, then went on to claim the final set - and the match - 3-6, 6-2, 7-5.Also on rt.com ‘I don't consider myself the next Serena’: Naomi Osaka on reaching peak of women's tennis
Osaka had Bencic under pressure for long spells during the match, but Bencic stayed strong to save eight out of 12 break points during the contest to keep her in the match.
And, after fending off Osaka's potentially match-winning service game, she took control herself and rounded out a hard-earned win.
It's the second time in 2019 that Bencic has dumped world number one Osaka out of a big tournament.
The 22-year-old defeated the Australian Open champion in the fourth round at the 2019 BNP Paribas Open at Indian Wells in March as she prevented Osaka from defending the title she won the previous year.
Bencic will move on to face world number three Simona Halep in the semi-finals.
Osaka, meanwhile, continues to fight for form after splitting from her coach Sascha Bajin following her Australian Open success in January.
The Japanese star's best tournament showing since her Grand Slam win came in Germany in April, when she reached the semi-finals of the Stuttgart Open only to be forced out of the tournament with an abdominal injury.Also on rt.com ‘I don’t have to put success over happiness’: Naomi Osaka on sudden split with ex-Serena coach