Top-seeded Ruud had his serve broken at 5-5 in the third set after the 54th-ranked Chilean fired two powerful forehand winners.
Jarry's serve held up after wasting an earlier break that forced a 4-3 lead, and took his second match-point chance with an overhead smash winner.
Ruud now heads early to the French Open where he is seeded No. 4 when play starts Sunday. The 24-year-old Norwegian won the warm-up event at Geneva in 2021 and last year, when he also reached the final at Roland Garros losing to Rafael Nadal.
Jarry earned a rematch in the semifinals on Friday of the 2019 final at Geneva he lost to Alexander Zverev.
Zverev had an easy passage through his quarterfinals match. The third-seeded German led 4-1 in the first set when 59th-ranked Wu Yibing of China retired with an injury.
While Ruud dropped his career record at Geneva to 9-1, Zverev is still unbeaten with a 6-0 mark at the lakeside park venue.
Fritz brushed aside Ilya Ivashka 6-1, 6-2 in just 51 minutes in the opening match on court.
Dimitrov was in action for almost two hours more to rally past Christopher O'Connell in a 6-7 (5), 7-5, 6-4 win.
Both Dimitrov and Zverev got wild cards at Geneva to prepare for Roland Garros.