Having knocked out previous champion Maria Sharapova in the second round, Kerber recovered from losing the first set to earn a 3-6 6-1 7-5 victory over the former world No 1.
After winning the Charleston tournament a fortnight ago, Kerber has carried her impressive form onto Stuttgart’s clay courts.
Her win over Sharapova was the first time the Russian had tasted defeat in four previous appearances at the German event.
However, the first set of Sunday’s final was all Wozniacki, who broke Kerber in the fourth game before holding her serve to take a 4-1 lead and then the set.
The German rallied to control the second, blasting her way out to a 3-0 lead before breaking Wozniacki in the sixth game for a 5-1 lead to serve out the set.
Both players traded breaks in the third before Wozniacki looked to be heading for her second tournament victory of 2015 at 5-3.
But Kerber made her shots count and with the Dane under immense pressure on the base line, Wozniacki was broken in the ninth and 11th games to give the world No 14 victory in just over two hours.
“I am completely done here, empty. I gave everything I had and the crowd just carried me,” said Kerber.
“I had to fight until the very end and I could not have done it without this crowd.”