World number three Simona Halep beat Australian Ashleigh Barty 7-5 7-5 to reach the Madrid Open semi-finals.

Halep broke serve at 5-5 in each set before holding serve to love to seal a narrow victory against the ninth seed.

The Romanian is hoping to win the Madrid title for a third time after victories in 2016 and 2017.

The 27-year-old will play world number one Naomi Osaka or Swiss player Belinda Bencic in the semi-final.