Halep broke Keys' serve in the third game, going on to hold her own taking a 4-2 lead with a blistering ace.
It was not as easy as it might have been for Halep, however, with world no.12 Keys fighting back to take the opening set to a tiebreak, which the Romanian won 7-2.
‘He can hit all the shots’ – Wilander on why Murray can get back to the top of the game
In the second set, Halep but looked frustrated despite making light work of Keys, who's inconsistent game and a number of unforced errors saw her trailing at 4-1.
But Keys was not ready to give up and with no break in sight in the next three games, it was down to Halep to serve for the final.
A furious rally between the two ensued, with the American only a point down at 40-30 when she hit the net to gift the win to Halep.
Halep thanked Canadian and Romanian fans for their support and congratulated Keys on her game.
Picking up her third title of 2016 Halep said: "It's been a great week."
Kyrgios and Broady burst out laughing after Brit takes underarm serve request
'Are you alright?' - Kyrgios checks on ball kid after hitting him with huge serve