The American, 33, won 6-3 6-7 (2-7) 6-2 to claim her third French Open and 20th Grand Slam title.
Williams who is ranked number one, needed two hours and one minute to win.
Safarova, playing her first Grand Slam final, led by a break in the decider but Williams won the last six games.
The 33-year-old becomes the third player – male or female – to win 20 major singles titles.
Only Germany’s Steffi Graf on 22 has won more since the open era began in 1968, with Australia’s Margaret Court collecting 24 between 1960 and 1973.
Williams now holds three of the four major titles and is on course can of completing the set at Wimbledon, having managed the feat already in 2003.
The world number one was so pleased to win the trophy, she said; “It makes this trophy really special,” she added “I really wanted it. I wanted to win so bad. “I just felt like I had every opportunity in this match. Being down from the second, third, fourth round, it wasn’t very easy, so I probably topped for my most difficult time to win. “But it also makes me feel good that I was able to be fit and be able to win the event. I can’t believe I won, but it’s cool.”
Safarova said: “I’m proud that I fought back in the second set, because it was looking like it will be an easy match. “Serena was really strong out there. I just pushed myself to step up the level.” The American suffered with sickness throughout the event and she even feared she was too ill to play 48 hours prior to the final. “It’s been a nightmare 48 hours,” said the world number one. “I kind of was in the locker room just laying down after my semi-final.” She added: “I even told the physio, ‘I’m not sure I’m going to be able to play, because this is just not looking good.’ I actually was really bad last night.”And then they helped me out.”
Meanwhile Serena Williams increased her margin at the top of the women’s rankings.
The 33-year-old American’s nearest rival is Czech Petra Kvitova, who has risen from fourth.
Russian Maria Sharapova, 28, drops two places to fourth following her fourth-round loss to eventual finalist Lucie Safarova, 28, with the Czech player moving to a career-best seventh.
Full list of the women’s rankings
Read more on tennis.com