The 22-year-old Russian overcame a slow start and dropped the first set -- just like in her two other upsets -- before her shots began to find the lines.
Safina claimed her sixth WTA Tour title and first this year at the warmup for the French Open. She won $197,000 on Mother's Day.
"My mother can buy anything she wants," said Safina, whose mother watched from the stands. "She can walk into any store and I will pay for it."
The tournament's field included six of the world's top seven players but failed to produce a French Open favorite. The Grand Slam tournament starts on May 25.
"You can put me on the list if you want too," Safina said, "but I don't know if I can keep playing like this. This week I played so good, starting with Justine, just so good."
Safina, the sister of two-time Grand Slam winner Marat Safin, has beaten top-10 players 11 times. She will fly to Rome on Monday for the Italian Open.
"She had a great week," Dementieva said. "Every year she gets better and moves closer to the top 10."
"She was killing me in the first set," Safina said. "I said to myself, 'Oh no, I don't want to lose after this week.' Then I began to make my shots."
Dementieva, who lost out on her 10th title, has known Safina since they were children. She was coached by her mother.
"Since she was little she had worked so hard," Dementieva said. "Marat has gone so far, but he didn't work so hard."