The world No.21 prevailed 7-6 (8-6) 6-4 in the first top-level meeting between the two players to add to the Argentina Open crown won – also on clay – in February 2020.
Ruud did not face a single break point in the match, which lasted an hour and 40 minutes, and needed only one break conversion himself to see off No.2 seed Shapovalov.
"It's tough to find all the words," Ruud, who has a 15-4 record on clay this year, said.
"It was such an amazing week here in Geneva. I was always looking forward to coming to this tournament.
"I watched it on TV for many years when I was younger and it always seemed like a nice place, so I guess I know why I wanted to come here.
"It's been going well and this week has been unbelievable for me."
Looking to lay down a marker ahead of the upcoming French Open, where he reached the third round last year, No.3 seed Ruud took little time to get going against Shapovalov.
However, the first set went the way of the serve to set up a tie-break, which the Norwegian eventually took with his fifth set point after Shapovalov won four points in a row.
Shapovalov was competing in his third tour-level final after winning the Stockholm Open and losing in the Paris Masters final in 2019, but he struggled to break his opponent.
Ruud earned a break in the fifth game of the second set and saw the job through to keep his momentum going ahead of the second grand slam of the year.
Asked about his aims for Roland Garros, Ruud said: "Well, it's the toughest clay court tournament of the year.
"This season I am playing well on the clay and I'm looking forward to Paris. I hope I can make the second week, that's all I can say.
"If I'm in the second week I will be very happy of course."