STUTTGART, Germany - Caroline Wozniacki will play Angelique Kerber in the final of the Porsche Grand Prix after they won their semifinals in contrasting fashion on Saturday.

Wozniacki beat second-seeded Simona Halep 7-5, 5-7, 6-2, while home favourite Kerber defeated Madison Brengle of the United States 6-3, 6-1 in just under an hour.

It will be Wozniacki's second final at Stuttgart after she lost in 2011 to Germany's Julia Goerges.

The fourth-seeded Dane needed almost three hours to prevail over Halep, winning four games in a row in the third set to go 5-1 ahead. After missing three match points and being broken while serving for the match, Wozniacki broke the Romanian again to close out the win.

Despite the loss, Halep will move up to No. 2 when the world rankings are updated on Monday, jumping over Maria Sharapova, who lost to Kerber on Thursday.

Kerber has a 5-4 record against Wozniacki, winning in the Stuttgart second round in 2012.

Kerber won her fourth WTA in Charleston this month, while Wozniacki won her 23rd in Kuala Lumpur last month.