The 22-year-old Czech needed 2 hours, 16 minutes to get past her Chinese opponent 7-5, 2-6, 6-3 on the hard courts at Uniprix Stadium, improving to 8-2 all-time in finals.
Last year's Wimbledon winner claimed a $385,000 grand prize with the triumph, her first of the year.
Li, who had bested Kvitova in semifinal match at the Australian open in January, fell to 5-8 in career finals.
Millions of Getty images now available for free via embed tool
Ray Liotta sues skin care company over use of likeness