The No.20-seeded Pennetta, who scored minor upsets earlier in the tournament against No.16 and No.17 seeds Sam Stosur and Sloane Stephens, was up against it as she took on No.1 seed Li - in the pair's only other meeting in the last four years, Li beat Pennetta easily at this year's Australian Open.
But Pennetta hung much tougher this time - after failing to consolidate on four breaks of serve she closed out a grueling 66-minute first set in a tie-break, and after falling behind 2-0 in the second set she reeled off six of the next seven games for a stunning 76(5) 63 victory in an hour and 48 minutes.
She finished it on a massive backhand winner up the line - a dream ending to a massive upset.
"I think we played really good tennis tonight," Pennetta said. "In Australia I didn't have any chance against her, but tonight I played much better. I just fought and tried my best. Of course I'm happy."
"It's not bad. It's not like I lost my first match," Li said. "At least I had a few matches in Indian Wells, and making the semifinals isn't bad, and it's not like I lost to a bad player. She was playing really well."
Pennetta is now in the biggest final of her career. She had been to three regular Premier-level finals before, winning Los Angeles in in 2009 and finishing runner-up at Los Angeles and Zürich in 2008.
"I'm surprised," Pennetta said. "In the beginning of the week if you told me, 'You're going to make the final here,' I would have said, 'Mmmm, I don't think so!' So I'm really happy. I'm happy with my game."
Awaiting her in the final is No.2 seed Agnieszka Radwanska, who beat No.6 seed Simona Halep in the first semifinal (read more here). Radwanska leads Pennetta in their head-to-head series, 4-2, but in their only meeting in the last two years, Pennetta won pretty handily in Dubai a few weeks ago.
"I have to be really aggressive. I have to go for winners," Pennetta said of Radwanska. "But I can't rush too much, because she's a wall. I mean, I have to make seven times the winners against her.
"But I played really well against her in Dubai, so I hope to play the same way this time."
"Unfortunately I lost to her the last time - we played in Dubai," Radwanska said. "I think similar to Halep, I'm looking forward to playing her and getting a little bit of revenge. It'll be a tough one."