STOCKHOLM — Denis Shapovalov is seeing the results of the work he's put into improving his game over the last couple of years.

The Canadian advanced to the first ATP final of his career on Saturday, defeating Japan's Yuichi Sugita 7-5, 6-2 in the semifinals of the Stockholm Open.

Shapovalov rose up the rankings with a solid 2017 rookie season that saw him reach the semifinals of the Rogers Cup in Montreal and the fourth round of the U.S. Open a month later. But he struggled to find consistent results after that.

"I feel like I shot up the rankings with a couple of big results but to be honest, my game wasn't there — I was really flashy, really big tennis, but I was up and down," he said after winning Saturday's semifinal. "So I worked really hard over the last couple of years to strengthen other parts of my game and really try to make it complete and I still feel like there's a lot of room to grow.

"I'm happy to be doing so well at the end of this year but hopefully I can keep going so a couple years down the road I can potentially be a Grand Slam contender."

Shapovalov, of Richmond Hill, Ont., will play Serbia's Filip Krajinovic on Sunday for the title at the ATP 250 tournament.

No Canadian has won on the ATP Tour since Milos Raonic in Brisbane in January 2016.

Shapovalov was previously 0 for 7 in ATP semifinals before Saturday's win.

"I've played a lot of semis it feels like so it's really exciting to be into my first finals," the 20-year-old said. "I've had some bad luck, some tough matches in the semis but on the other side, making semifinals is a good sign. So I knew sooner or later the wins were going to come so I stayed pretty patient."

Shapovalov, the No. 4 seed in Stockholm and the No. 34-ranked player heading into the week, outpowered his opponent on Saturday with 10 aces — Sugita had none — while winning 90 per cent of his first-service points.

Shapovalov converted on 4-of-5 break points and saves 3-of-4 to improve to 2-0 against Sugita. He also beat the 31-year-old in 2017 at an indoor hard court tournament in Switzerland.

Sugita, ranked No. 129, broke Shapovalov for a 4-2 lead in the first set, but the Canadian rebounded with a pair of breaks over the next five games to win the opener in 48 minutes.

The second set was much quicker for Shapovalov, who broke Sugita twice early on for a 4-1 lead, and won it in 30 minutes.

"Kind of a tough beginning, he played really well at the beginning, I was a little bit nervous," Shapovalov said. "So I'm really happy to have turned the match around."

Krajinovic defeated No. 5 seed Pablo Carreno Busta 4-6, 6-3, 6-3 in the first semifinal of the day.

Krajinovic, ranked No. 60, has never faced Shapovalov before.

"I don't know him much. I've seen him play here and there," Shapovalov said. "He looks like he's got a big serve, he likes to go for his shots, pretty similar to me. So yeah, I think it's going to be an exciting match.

"I'm just happy to be through to my first final and the rest I just get to enjoy. Obviously I'd love to win the match and win my first title, but if not it's a big step to make the finals this week so I'm really happy with where I stand."

The 27-year-old Krajinovic has also never won on the ATP Tour, but has appeared in two finals, including one earlier this year on clay in Budapest.