Fifth seed Svitolina won 6-4 6-0 at the Rogers Cup to become the first woman to win three events at the elite Premier 5 level in the same year.
The 22-year-old could become world number one if results go her way at next week's Cincinnati Open.
Wozniacki, seeded sixth, has lost all six finals she has played this year.
"It was a tough day," said the Dane. "She played well. She mixed up the pace and made it uncomfortable for me out there.
"Today, probably I could have used some more pace, but she played really smart today and used my pace to her advantage."
After her victories in Dubai and Rome, Svitolina's win in Toronto takes her past Wozniacki, Maria Sharapova, Serena Williams and Victoria Azarenka as a three-time winner of Premier 5 titles in the same season.
"It's amazing that I achieved this, but I try to take one tournament at a time, to not think so much about all the past titles," said Svitolina.
"Of course it brings me confidence, I have the experience from those finals, but I try to take it as a new challenge and always look forward to it."
The Ukrainian was twice pegged back by Wozniacki in the first set but ran away with the final from 4-4, reeling off the last eight games in a row.
It was Svitolina's third match in two days, after rain delays meant she saw off both Wimbledon champion Garbine Muguruza and world number two Simona Halep on Saturday.
"I was very, very tired after the first game of first set, and I knew that I need to give everything because Caroline doesn't miss much," said Svitolina.
"You have to work really hard to get unforced error from her."
Ukraine's Elina Svitolina beat Caroline Wozniacki in straight sets to win her fifth title of the year and condemn the Dane to a sixth final loss in 2017.