The world No. 8 converted four out of eight break points and saved all five on her serve to seal a 10th WTA singles title after 74 minutes on court.
After easing through the opening set by winning six straight games, Bertens had to stave off a spirited Rybakina early in the second, saving four break points in the first game.
She then broke for a decisive 3-1 lead and dropped only two more games to clinch victory in style.
The Dutchwoman improved her head-to-head record over Russian-born Rybakina to 2-0 with the win, having beaten the world No. 25 in the Rosmalen semifinals on grass last year.
Bertens was scheduled to take on 36-year-old former world No. 1 Kim Clijsters in the opening round of the Dubai Duty Free Tennis Championships on Monday, but pulled out of the tournament after reaching the final in St Petersburg.
Elina Svitolina, Dubai champion in 2017 and 2018, will now face a qualifier or lucky loser instead of Muguruza.