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 men's final is on Sunday. Rafael Nadal will go for his ninth French Open title against Novak Djokovic.
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. She had eight doubles in the quarterfinals.
Part of the reason for her inconsistency comes from having surgery on her right shoulder in 2008. Before that, the 27-year-old Russian had won Wimbledon in 2004, the U.S. Open in 2006 and the Australian Open in 2008. Since then, she has won the French Open twice.
But 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.
Halep was trying to become only the second Romanian woman to win a Grand Slam title. Viriginia Ruzici, now Halep's manager, won the French Open in 1978.