Kerber came out of the blocks the quickest and dominated the opening set, breaking the Dane three times on her way to a 6-2 win.
Wozniacki responded with some solid tennis in the second set and produced quality when she needed it most as she clinched a tight set 6-4.
The 22-year-old looked to capitalise on her momentum and rushed into a 5-3 lead in the final set. However the German fought back to 5-5 to make a thrilling final few games.
The Dane held her composure and did enough to secure the win, taking the set 7-5 to earn her place in the final.