Garcia, already the first qualifier to reach the tournament final, clinched the victory when Kvitova sent a second-serve return into the net. Garcia dropped to her knees and lay on her back on the court after the final point.
"It's hard to believe I'm standing here today," Garcia said in her postmatch speech to the crowd. "It's been such a week."
The 28-year-old Frenchwoman went into Sunday's match with a WTA Tour-leading 25 wins since June.
"Every single win is important. Every single title is very special," Garcia said. "It's always very hard to describe it. It's not happening so often, and you have to really like enjoy it. I'm really grateful for this great week of tennis, and to win another title, it's very special."
The 28th-ranked Kvitova and 35th-ranked Garcia both shook off first-round losses the previous week in Toronto to make their first appearances in a Cincinnati final.
"Definitely not the result I wanted, but ... I have to take it like this and see the positive things," Kvitova said. "I know it's hurting right now, but on the other side, I have to see it like overall and be proud on my 40th final of my career."
Garcia broke her Czech opponent in the first game and raced to a 4-0 lead. Garcia also gained an early edge with a first-game break in the second set.
"It's been such a crazy road the last couple of weeks, but I've really enjoyed it," Garcia said. "[Let's] keep it going."
Kvitova, 32, left the court for treatment of an injury after falling behind 2-0 in the second set. She looked sharper after returning but couldn't overcome the early break.
The Associated Press contributed to this report.