The 27-year-old beat China’s Wang Xiyu 6-4 7-6(6) to set up a showdown with Canada's Leylah Fernandez.
Watson, who last won a title at the Monterrey Open in March 2016, would move into the top 50 with victory in Saturday’s final.
WTA Indian Wells
Stephens fights back to beat Watson at Indian Wells
In the men’s tournament, Rafael Nadal brushed aside Grigor Dimitrov 6-3 6-2 to reach the final.
The Spaniard, playing his first tournament since the Australian Open, will battle American Taylor Fritz for the trophy.
"I'm very happy. A great victory against one of the best players in the world and a good friend," Nadal said.
"I think I've increased my level during the match, so it's positive for me."
Hugs and smiles as Federer beats Nadal in Match In Africa
'It just wasn't enough' - Watson reacts to Olympic defeat
Tokyo 2020 tennis: Watson out, Swiatek through