The second-seeded Russian broke Wozniacki twice in each set, taking control from the beginning through her booming serve and groundstrokes.
"It was a great way to finish the season by winning the title in Sofia, and the doubles in Istanbul," Petrova said after her first win in the past five matches against Wozniacki. "I want to congratulate Caroline for her amazing performance this week."
Wozniacki had a medical timeout during the second set and is looking forward to a break.
"It did not go very well for me today. Now I will go on vacation to recharge the batteries for next season," she said.
The 30-year-old Russian, who also won titles in the Netherlands and Japan this year, will rise one spot to 12th when the WTA rankings are released Monday. It was the 13th career victory for Petrova, who received a check for $270,000.
The Tournament of Champions is the final event on the WTA calendar. It featured the six highest-ranked players who have won a title during the season but didn't qualify for the WTA Championships, along with two wild cards.
The event in 2013 and 2014 will again be held in Sofia. It was staged in Bali the previous three years.