Federer had to call upon all his resources of skill, poise and experience to edge the Czech player.
Federer and Nadal have met twice this year, with the former winning both times.
Federer improved his career record against del Potro to 16-5.
The Spaniard was playing his 1,000th ATP match.
Reigning US Open champion Stan Wawrinka got off to a solid start
The German replaces American Serena Williams.
Surpasses Jimmy Connors as tournament's oldest winner
For Kuznetsova, it was a third disappointment in as many finals at Indian Wells.
They met most recently at the Australian Open semifinal, where Federer prevailed in five sets.
The Scot will be replaced in the main draw by American world number 136 Taylor Fritz.
Kyrgios withdrew from their highly anticipated quarterfinal with food poisoning.
The Swiss will meet 21st seed Pablo Carreno Busta in the last four.
The Australian ended three-time defending champion's 19-match winning streak in the first Masters tournament of the year.