The second-seeded Kvitova trailed 5-2 in the second set before reeling off five consecutive games for the victory that avenged a loss to the Russian in the Olympic quarterfinals.
The fifth-ranked player in the world has won 12 of her last 13 hardcourt matches this season heading into the U.S. Open. She clinched the U.S. Open series championship this week after winning her first title of the year in Montreal and reaching the semifinals in Cincinnati.
"It's unbelievable," she said. "I mean, play three tournaments in a row and win two. It's great for me. I hope it will continue in the US Open."
The series championship, based on points earned in five U.S. hard-court tournaments this summer, makes Kvitova eligible for a bonus of up to $1 million depending on her finish in the U.S. Open.
Kvitova didn't lose a set the entire week, but had to battle in both on Saturday.
The first set, which lasted an hour and eight minutes, had six service breaks, and went to the tiebreaker when Kvitova failed to serve out the match after breaking Kirilenko to go up 6-5.
Kvitova got a mini-break on the first point and was up 5-2, but again had a hard time putting Kirilenko away. The Russian fought off two set points at 6-4, and was serving for the set at 8-7.
But Kvitova won that mini-break and went on to win the tiebreaker 11-9 when Kirilenko put a return into the net.
"It was a difficult first set," Kirilenko said. "We were both getting tired. I felt it. I think she felt it as well. We were a little bit run down."
Kirilenko seemed to find some energy early in the second set with her boyfriend, NHL star Alex Ovechkin of the Washington Capitals cheering from the player's box. She went up two service breaks and was serving at 5-2 to tie the match.
But there was no quit in Kvitova. She fought off a set point to win that game, held serve twice and broke Kirilenko at love twice, cupping her hand to her mouth as Kirilenko's final serve went long.
"I just played, not thinking about the shots, about the tactics, just put the ball into the court," she said. "Then it was 7-5. Surprise."
Kirilenko, the seventh seed, was the fresher of the two coming into the match. She had played just two full matches and five sets to get to the final. Her second round opponent withdrew with a stomach ailment, and four-time defending champion Caroline Wozniacki retired from their semifinal match with a knee injury after one set.
Kvitova easily beat NCAA champion Nicole Gibbs (6-2, 6-4), Lucie Safarova (6-3, 6-3) and Italy's Sara Errani (6-1, 6-3) on her run to the final.
The seventh-seeded Kirilenko was coming off an Olympics in which she won a bronze medal in doubles and advanced to the semifinals in the singles after beating Kvitova 7-6 (3), 6-3.
"Even though I lost today, I still feel positive," she said. "I played really well this week. I played good match today. Unfortunately, I was unlucky. But I have couple days to recover because I know that I'm playing Tuesday. So two days, it's good for me to have rest."