Sania beat the Italian world number 16, 6-2, 7-6(5) at the $600,000 Tier II event in Paris on Tuesday
The 19-year-old will face French teenager Tatiana Golovin, who beat Marta Domachowska of Poland 6-0, 7-5.
"I hope to avenge my loss to her (Golovin) in Japan in October," Sania, ranked 32, said.
Sania,unseeded for the tournament, dominated Pennetta in the first set with her flat, powerful groundstrokes, dropping only nine points on serve and breaking the Italian three times.
The second set was a lot closer, with the two players being separated in the end by only one point, but it was the Indian teenager who pulled through at the end of the tie-break to clinch the one-hour, 25-minute victory.
"It is always a great feeling to beat a quality player and this is one of my big wins," Sania said. "It makes it even sweeter because Pennetta has been in good form in Australia and has wins over the likes of Martina Hingis."
Sania Indian had endured an ordinary start to the season, losing in the first round at a Tour event in Sydney and exiting the Australian Open Grand Slam in the second round last month.
She also took a week off to rest her left knee that has been troubled by tendinitis.
It was Sania's third career victory over a top-20 player, having downed two top-10 players in 2005, then-No.7 Svetlana Kuznetsova in Dubai and then-No.9 Nadia Petrova in San Diego.