The 27-year-old world number four got an early break of serve to clinch the opening set and put pressure on the 19-year-old Rybakina, who entered the match without having dropped a set this week.
Rybakina mounted a late charge in the second set but Bertens hung on to set up Sunday's title clash against American Alison Riske.
"It's always tough to play someone you've never played before," Bertens said.
'Are you getting fined for this?' - Rybakina livid over umpire controversy
"She's had some good wins here, so I'm just really happy to be in the final of my home tournament."
Riske, who is chasing her first title in five years, reached her second final of the year with a hard-fought 6-4 3-6 7-6(5) win over Russian Veronika Kudermetova.
The 28-year-old broke Kudermetova's serve twice in the final set and forced the contest into a tiebreak, where she rallied from 5-2 down to seal victory.
"I'm so emotional right now because honestly I didn't feel like I was going to win that match," Riske said.
"It was such a battle. I thought Veronika played absolutely amazing tennis and... I'm excited to be here for another day."
Bertens has won all her three previous matches against Riske, including an opening-round encounter at this year's Australian Open.
Rain returned later in the day to interrupt the men's semi-finals which will now have to be completed on Sunday.
Second seed Borna Coric was locked in a deciding-set tiebreak with Frenchman Adrian Mannarino when play was suspended while Australian Jordan Thompson was leading 7-5 5-3 against Richard Gasquet. (Reporting by Shubham Kalia in Bengaluru; editing by Clare Fallon)
Pavlyuchenkova overcomes Rybakina in latest epic to reach semis
'That was impeding!' - Was this unfair from Pavlyuchenkova against Rybakina?