The 22-year-old Safina closed out the 70-minute match with a crosscourt backhand return for her sixth straight service break.
Safina was the third player this year to win a tournament after facing a match point, though 10th-seeded Pennetta didn't come close to pressing her that hard.
Qualifier Alla Kudryavtseva nearly eliminated fourth-seeded Safina in the third round before she won in a third-set tiebreaker. Safina followed that cliffhanger by bumping off Victoria Azarenka of Belarus and top-seeded Jelena Jankovic to reach her fourth final in her last five tournaments.
"It happens like that sometimes,'' Safina said after her seventh career victory on the WTA Tour. "One match, you pull it out somehow and you start the next day to play better. That's what happened. I was just playing better and better.''
Safina wasn't as sharp in the final on a warm, breezy afternoon. But she said that considering how badly she wanted the title and how nervous she was, she "played a pretty good match.''
Safina, world ranked No. 9, will swap places with countrywoman Anna Chakvetadze to a career-high No. 8 in the new list on Monday.
Pennetta, who was playing in her first top-level final, said she "didn't serve very well'' and "on the important points she (Safina) was playing so good, so aggressive, she didn't give me a lot of chances.''
Pennetta, a six-time winner on tour, was trying to win her third title this year.
Top seeded Chan Yung-jan and Chuang Chia-jung of Taiwan won their seventh doubles title with a 2-6, 7-5, 10-4 victory over Eva Hrdinova and Vladimira Uhlirova of the Czech Republic.
Ferrer, Tanasugarn win Ordina Open
Lidstrom wins sixth Norris Trophy
Medina Garrigues, Pennetta upset at Palermo