After losing the opening set, Kerber twice broke the fourth-seeded Dane in the second. Wozniacki saved three match points at 6-5 in the third set, but Kerber took her fourth chance to win in 2 hours, 4 minutes.
"In the end I needed all my reserves. I'm really, really proud to have managed it in front of my home crowd," Kerber said after claiming her first WTA title at home and her fifth overall. The 14th-ranked German also won at Charleston earlier this month.
The 27-year-old Kerber upset three-time defending champion
Wozniacki lost the 2011 final to another German,
Top-seeded Kei Nishikori successfully defended his title at the Barcelona Open by beating Spaniard Pablo Andujar 6-4, 6-4.
The fifth-ranked Japanese fought back from early breaks in both sets to claim his second clay-court title in as many years at the Real Club de Tenis.
Nishikori finished off Andujar with a final break to win in 1 hour, 34 minutes.
It was his second title of the season and his ninth career title.
The fifth-seeded Spaniard took a 3-0 lead in the first set before his Czech opponent rallied, with Garcia-Lopez needing to save two set points to force the first tiebreaker.