The fourth-ranked Kvitova had struggled since winning her first major at the All England Club, but she found her form while denying the seventh-seeded Slovak her first WTA Tour title.
Kvitova broke Cibulkova's serve six times to win her fifth title of the season -- and sixth overall -- in just under 90 minutes.
"This was a great preparation for (the WTA Championships in) Istanbul," said Kvitova, who was a late entry into the Linz tournament.
Only top-ranked Caroline Wozniacki's six wins this season tops Kvitova, who improved to 4-0 against Cibulkova.
"I am just working on my tennis to get better and better," Kvitova said.
Kvitova broke Cibulkova in the opening game and again with the first set tied at four games apiece. She eased through the second set to become the first Czech winner since Jana Novotna in 1998, who also won Wimbledon that same year.
Cibulkova was appearing in her first final since Montreal in 2008 and dropped to 0-3 in WTA finals.
"It was a great week for me," she said. "It feels good that I finally got into a final again."
No. 23 Cibulkova and 16th-ranked Peng Shuai are the only players in the top 30 without a WTA title.