Olympic silver medallist PV Sindhu remained in the hunt for a historic Asian Games gold medal after a tense win but Saina Nehwal settled for a bronze following her 10th straight defeat against world number one Tai Tzu Ying, at Jakarta.
World number three Sindhu beat Akane Yamaguchi 21-17 15-21 21-10 for her second win over the Japanese at the Asian Games, having beaten her in the team championship as well.
The energy-sapping 65-minute match featured a 50-shot rally in the decider, which Sindhu won.
World number 10 and Olympic medallist Saina played with good intensity but lost 17-21 14-21 to a superior Tzu Ying, who stood out with her court coverage and retrieving in the 32-minute contest.
Coming into this match, Saina had lost last nine matches against Tzu Ying, including three in the 2018 season.
Sindhu will now fight it out with Tzu Ying to win India's first ever individual gold in badminton.
The Indian will have to punch above her weight as she has not managed to beat the Chinese Taipei shuttler in the last contests.
Syed Modi's bronze in men's singles at the 1982 Games in New Delhi was the only individual medal for India at the Asian Games.
Sindhu was sluggish at the start, making unforced errors but recovered quickly to be in control.
Yamaguchi played an attacking game but the tall Sindhu had strokes to counter her rival.
Sindhu dominated the rallies and created an 11-8 lead at first break. The Indian remained solid at the net, using a variety of stroke to force the Japanese world number 2 to make errors.
A long rally ensued at 20-17 but Yamaguchi sent a smash wide to put the Indian ahead.
In the second game too Sindhu remained the dominant player but unforced errors crept in and she lost the lead.
Yamaguchi pulled off a stunning point, leading at 14-12 after forcing an error from Sindhu, who kept retrieving the shuttler, using one smash after another.
Sindhu struggled to contain errors from there and lost the game by hitting a forehand wide.
The Indian reeled off four points in a row to shoot to 7-3 in the deciding game, before taking the break with a 11-7 lead. She also won a sensational 50-shot rally to pull away 16-8.
With such a big lead at hand, Sindhu finished the match in her favour with a superb smash.
Both Saina and Tzu Ying attacked each other's backhand but it was the Chinese Taipei player who scored more points. She raced to a 4-1 lead in the opening game.
Saina changed her strategy a bit by hitting more deep returns and then looked for drop shots. It worked for her and soon it was 8-8.
Tzu Ying though kept spraying smashes on Saina's backhand and took the first break with a narrow 11-10 lead.
The Chinese Taipei shuttler took four straight points to zoom to a 15-10 cushion, leaving Saina to play the catch up game.
Tactically sound and supremely fit Tzu Ying retrieved almost everything thrown at her.
At 19-16, Tzu Ying hit another smash on Saina's backhand to grab her first game point and converted it when the Indian sailed over the baseline.
In the second game also, Saina was again playing the catch up game. Tzu Ying never looked like losing control though Saina tried hard to breach her rival's defense.
Saina led for the first time in the match when Tzu Ying left a shuttle and it fell in at 12-12. A net chord also helped Saina take a point but Tzu Ying reclaimed lead on an unforced error from Saina.
Tzu Ying cruised to win from there with Saina sending a backhand wide.