Halep, 24, won an erratic opening set that featured eight breaks of serve after breezing through the tiebreak, and then broke her 10th-seeded opponent again in the second game of the second to tighten her grip.
Keys was unable to break the Romanian in the concluding set and Halep served out to seal the win in one hour 16 minutes after the 21-year-old American dumped a forehand into the net.
It was an especially sweet victory for Halep, who reached last year’s Rogers Cup final in Toronto against rising Swiss talent Belinda Bencic but had to retire in the third set due to a leg injury.
“It means a lot, it was really nice to win today,” Halep told ESPN in a courtside interview. “I had, I can say, bad memories from last year that I had to finish the match and to stop it, so I am happy that I could win.
“I feel tired, I feel that I have no more power but it’s a nice feeling and I gave it everything to win this title.”
Halep improved her career record against Keys to 3-1, having beaten the American over three sets in their most recent meeting at Wimbledon earlier this month, and will rise to third when the world rankings are issued on Monday.
The match was effectively decided in the first set tiebreak after both players had produced nervy, erratic tennis over the first 12 games.
The big-serving Keys, who is also known for her powerful game from the baseline, made a string of unforced errors to gift Halep a 6-1 lead in the tiebreak before losing the opening set after hitting a backhand wide.
Halep never looked back, winning the first six points of the second set on her way to a third WTA title this year.
“She hits very strong and it’s really tough to return her balls but I knew that I have to be strong on my legs,” counter puncher Halep said of her strategy against Keys.
“I tried, I just wanted to be a little bit aggressive but I couldn’t. In the end, I just wanted to be solid. I did it and it was a great win for me against her.”