Halep, 27, beat Williams 6-2, 6-2 in straight sets in London. The Romanian needed only 26 minutes to take the first set and, despite the American's rally late in the second set, held on to capture the victory at the All England Club.
Halep also won the French Open last year. Halep was previously 0-3 against Williams in Grand Slam matches.
"It's something very special and I will never forget this day because it was my mom's dream when I was about 10," Halep said.
Williams, 37, was in pursuit of her 24th Grand Slam title. She has lost three consecutive Grand Slam finals.
Williams hasn't won a major title since beating her sister, Venus, at the 2017 Australian Open. She hasn't won a tournament of any kind since giving birth to her daughter in September 2017 and returning to the tour five months later.
Halep joked she was most excited about securing membership at Wimbledon for life with the victory.
"That was one of my motivations before this tournament, so now I'm happy," she said.