Simona Halep produced a fine comeback to defeat Magdalena Rybarikova and reach the quarter-finals of the Stuttgart Open, while Angelique Kerber earned a measure of revenge on Petra Kvitova.

World number one Halep found herself a set and a break down, thanks to some inspired play by Rybarikova before recovering for a 4-6 6-2 6-3 win.

Halep reeled off five straight games in the second set after Rybarikova had broken for a 2-1 lead, and the Romanian was also broken at the start of the decider before again turning the match on its head.

"She played really well in the first set, she's been a tough opponent every time I've played her," Halep said.

"Always on clay I'm thinking to keep the rallies longer. If we go to the third set I feel I'm strong [enough] to play good tennis, I'm not afraid to stay in the match and the rallies. That's why I like the clay."

Former world number one Kerber was defeated by Kvitova on the same court in the Fed Cup just three days ago, but this time it was the home favourite celebrating a 6-3 6-2 win to advance to the last 16.

Kerber, a champion at the tournament in 2015 and 2016, was clinical in taking four of six break points while saving the three she faced, while Kvitova's aggressive style brought 28 winners but 32 unforced errors.

"Every single point was so important, because Petra fights until the end, and so you never know what will happen. I just tried to focus until the last point," Kerber said.

Anett Kontaveit awaits for Kerber with the Estonian saving two match points en route to beating Kristina Mladenovic 5-7 7-6 (7-3) 7-6 (7-5).

US Open champion Sloane Stephens was battered 6-1 6-0 by fellow American CoCo Vandeweghe, while their compatriot Madison Keys lost in three sets to Russia's Anastasia Pavlyuchenkova.

There was further Russian success for Veronika Kudermetova in a straight-sets win over Carla Suarez Navarro, and ‎Kazakhstan's Zarina Diyas was a 6-3 6-2 victor over Carina Witthoft.