Srikanth Kidambi fought back to reach his home final at the Badminton World Federation India Open in New Delhi.
The third seed, who won a mixed team gold medal at the 2018 Commonwealth Games in Gold Coast, lost the opening game to China's Huang Yuxiang at K. D. Jadhav Indoor Hall.
He recovered to triumph 16-21, 21-14, 21-19 and is one match away from reclaiming the title he clinched in 2015.
His opponent in tomorrow's final will be Denmark's Viktor Axelsen, the 2017 world champion and Rio 2016 Olympic bronze medallist, who prevented an all-Indian final by beating Parupalli Kashyap.
The second seed was relatively comfortable as he ousted the home player 21-11, 21-17.
Axelsen won the tournament in 2017 so a two-time winner is guaranteed tomorrow.
In the women's event, there was disappointment for India when their second seed PV Sindhu was knocked out.
Sindhu, a perennial silver medallist at major events including the Olympic Games, World Championships, Commonwealth Games and Asian Games, lost to China's third seed He Bingjiao 23-21, 21-18.
It means she will not reclaim the title she won in 2017.
The Chinese will play Thailand's fourth seed Ratchanok Intanon in the final, who will be gunning for a third crown in India.
Intanon, the 2013 and 2016 winner and a former world champion, beat China's seventh seed Han Yue 21-15, 19-21, 21-18 in a see-saw encounter.
The tournament is a Super 500 competition on the BWF World Tour.