Britain's Andy Murray reached his first tour-level final on grass in six years as he beat Nick Kyrgios in straight sets at the Boss Open in Stuttgart.
Murray, 35, defeated Australian Kyrgios 7-6 (7-5) 6-2 and will meet Italian Matteo Berrettini in Sunday's final.
"It has been a long time since the last final [on grass]," said Murray.
Kyrgios, given a game penalty after smashing his racquet and exchanging words with a group in the crowd, said he was racially abused by a spectator.
"When is this going to stop? Dealing with racist slurs from the crowd?" Kyrgios wrote on Instagram.
"When I retaliate to the crowd I get penalised. This is messed up."
Murray's last ATP Tour title came at Antwerp in 2019, while he has not contested a tour-level final on grass since winning Wimbledon for a second time in 2016.
"A lot of ups and downs, but I kept going and kept working and finally managed to get to another one. I am proud of the effort I have put in."
World number 10 Berrettini, the beaten Wimbledon finalist last year, overcame German Oscar Otte 7-6 (9-7) 7-6 (7-5) and will face Murray for the first time since winning in straight sets in the second round at Queen's last year.
Murray maintains momentum on the grass
Murray beat Greek top seed Stefanos Tsitsipas in the quarter-finals on Friday, claiming his first victory over a top-five player since 2016, before his two hip operations.
He faced a different challenge against the mercurial Kyrgios, but ultimately his victory was a comfortable one as he dominated the second set after edging a first-set tie-break.
Kyrgios, who received a point penalty after smashing his racquet in response to losing the first set, was given a game penalty for unsportsmanlike conduct early in the second and was unable to recover as Murray opened a commanding 4-1 lead with a second break of serve.
The former world number one, currently ranked 68th, is yet to drop a set in an impressive four-match streak in Stuttgart.
The three-time Grand Slam champion has reunited with former coach Ivan Lendl, with whom he won his two Wimbledon titles, and will now contest his 10th grass-court final on Sunday - as well as the 70th final of his career.
"You're always battling yourself as well as the opponent, it's one of the difficult things about individual sports," said Murray.
"Nick has the potential to be one of the best players in the world, there's absolutely no question about that. But he obviously got very frustrated in the second set and made it a lot easier for me.
"I'm happy to be in the final. I've played well this week and I've got a great opportunity against Matteo tomorrow."
Sonego awaits Murray at Queen's
Murray is playing several grass-court events before Wimbledon begins on 27 June, and next up will be the Cinch Championship at Queen's, which starts on Monday.
Italy's Lorenzo Sonego, the world number 32, awaits Murray in the first round there.
Elsewhere in the first round at Queen's, British number one Cameron Norrie will face Bulgaria's Grigor Dimitrov, while Dan Evans takes on defending champion Berrettini.
Fellow Briton Ryan Peniston has a tough opening assignment against top seed and French Open runner-up Casper Ruud, and Liam Broady meets Croatia's Marin Cilic.