Williams, the world's No. 1 player, failed to tie Steffi Graff's Open-era record for the third consecutive Grand Slam event as she lost 7-5, 6-4 to fourth-seeded Muguruza of Spain.
The 22-year-old Muguruza, winning her first major, traded powerful groundstrokes with Williams en route to beating the 34-year-old for the second time in three years at Roland Garros. In 2014, Muguruza knocked off Williams in the second round.
Williams fought back tears in her runner-up speech as she addressed the crowd in French.
"Thanks to my coach, Patrick (Mouratoglou)," Williams said. "We didn't win today, but we'll try again next year."
Muguruza, who lost to Williams in last year's final at Wimbledon, became the first Spanish woman to win a Grand Slam title since Arantxa Sanchez-Vicario won the French Open in 1998.
"I'm so, so excited," Muguruza said on court. "To play a final of a Grand Slam against one of the best players, I'm so happy. Serena is a very powerful player and I had to be ready for every point.
"I can't explain with words how this day means to me. You work all your life to get here."
Muguruza served out the match at love, ending with a high lob that caught the baseline as Williams watched and smiled.
Williams applauded Muguruza, who put her face in her hands and fell on her back in the red clay of Court Philippe Chatrier.
"She has a bright future, obviously," Williams said. "She knows how to play on the big stage and ... clearly, she knows how to win Grand Slams."