Novak Djokovic on Thursday booked his spot in the Geneva semi-finals, putting the world number one within two matches of his first trophy of 2024, days before his French Open title defence begins.

Djokovic saw off a first set challenge from Tallon Griekspoor to win 7-5, 6-1 in 77 minutes at the Parc des Eaux-Vives.

Griekspoor, the world number 27, was the sixth seed at the 28-man Geneva tournament, which serves as a warm-up before next week's second Grand Slam of the season in Paris.

The Dutchman had three set points against Djokovic in the first set.

"It was a great win. I thought the first set could have gone his way easily because I think he was a better player for most of the first set," Djokovic said afterwards.

"We could have been having a completely different direction of the match if he converted those set points.

"I was lucky to find some really good serves, and from that moment onwards I really, really played some good, solid tennis."

It was a bridge too far for Griekspoor, who earlier Thursday finished off his second-round match with Denis Shapovalov, beating the Canadian 6-7 (7/9), 7-6 (7/4), 6-3.

The match had been called off for the night in the second set on Wednesday due to rain.

Djokovic, who turned 37 on Wednesday, took a wild card to play in Geneva in a bid to rescue an alarming dip in form ahead of Roland-Garros next week.

Djokovic will face Tomas Machac of the Czech Republic in Friday's semi-finals.

The pair have only met once before, with Djokovic winning their contest in Dubai last year.

Machac, the world number 44, will be appearing in his first semi-final on the ATP tour.

He saw off 19-year-old Alex Michelsen of the United States 6-3, 7-6 (7/2) in their quarter-final on the Geneva clay.

- Ruud rising -

Friday's second semi-final will see Norwegian second seed Casper Ruud face Italy's in-form Flavio Cobolli.

Ruud, the world number seven, was the runner-up in the last two French Open finals, including a defeat to Djokovic last year.

Ruud, at home on the Geneva clay having won the title in 2021 and 2022, beat Argentinian fifth seed Sebastian Baez in a roller-coaster match, winning 6-3, 3-6, 6-4 in a two-hour quarter-final on Thursday.

"It was a tough match against Sebastian. He's a great player, a great fighter and it was always going to be difficult against him," Ruud said.

"It was a very close match in the end, back and forth, back and forth. But I'm very happy to be through, back in the semi-finals here in Geneva, it's a great feeling."

Italian Cobolli, on a career-high ranking of 56, saw off Kazakhstan's Alexander Shevchenko 6-4, 6-4 in the last eight, having knocked out US fourth seed Ben Shelton in the second round.