The event was the sixth of nine Masters Series events this year.
Nadal, the top seed, won 6-3, 4-6, 6-2, over the fourth-seeded Agassi.
Nadal, 19, a native of Spain, has won 16 straight matches.
He claimed his ATP-best ninth singles title of 2005 and also was playing in his 10th final of the year, with his only loss coming in April to world No. 1 Roger Federer in five sets in Miami.
The win was worth $400,000, helping Nadal match Mats Wilander's 1983 record for most singles crowns by a teenager in a season.
Nadal also is the first teen to win the Canadian title since Michael Chang accomplished the feat in 1990 and was his first career tournament title on a hard-court.