The Romanian, 24, won 7-6 (7-2), 6-3 to claim her third title of the year.
However, the world number five was unable to add a second title as she and compatriot Monica Niculescu were beaten by Russian duo Ekaterina Makarova and Elena Vesnina in the doubles final.
Makarova and Vesnina, who will represent their country at the Rio Olympics, won 6-3, 7-6 (7-5).
It was a different matter in the singles where fifth seed Halep eventually breezed through a tie-break against the 21-year-old American after a first set that saw eight breaks of serve.
Halep, who also beat Keys in the fourth round at Wimbledon, broke again in the second set and never looked troubled thereafter.
You can now add tennis alerts in the BBC Sport app - simply head to the menu and My Alerts section
Simona Halep beat Madison Keys in straight sets in the Rogers Cup final in Montreal.