Sharapova has struggled with her serve this week and had 12 double-faults in the final on Court Philippe Chatrier. But she was able to hold off Halep, and hold her serve in the final game, with steady groundstrokes that kept the Romanian on the run.
Sharapova also won the title at Roland Garros in 2012, completing a career Grand Slam. She lost in last year's final to Serena Williams.
Halep, who was ranked only 57th heading into last year's French Open, was playing in her first major final.
The seventh seed from Russia now has five grand slam titles including Wimbledon 2004, the 2006 US Open, the 2008 Australian Open and her first Roland Garros title two years ago.
Halep, who had not lost a set entering the final, put up a great fight but bowed out after three hours and two minutes - the longest women's final in Paris since 1996.
Neither Sharapova nor Halep was able to hold serve consistently, with 16 combined breaks of serve in the match.
In the 10 games of the final set, there were five breaks. And at one point, the pair went on a run of six straight breaks of serve, starting with the final four games of the second set and ending after the first two of the third.
Sharapova often looked to be in control, even in the tiebreaker. She led 5-3, two points from victory, but then lost the next four points to even the score at one set apiece.
Sharapova's game on clay has improved immensely over recent seasons, but her serve is still giving her problems. She lost the first set in each of three previous matches at Roland Garros, with nine double-faults in the semifinal win over Eugenie Bouchard of Canada. She had eight doubles in the quarterfinals.
While Sharapova has been a star on the tour for a decade now, the 22-year-old Halep has only recently risen up the rankings and will move to No. 3 on Monday.