Fifteenth-seed Andreescu triumphed in straight sets 6-3, 7-5 over Williams, who lost last year’s US Open final to Naomi Osaka.
Williams, who has won 23 Grand Slam crowns, now hasn’t won a major title since January 2017 when she lifted the Australian Open.
The 19-year-old Canadian becomes the first teenager to win a Grand Slam since Maria Sharapova in 2006.
“It’s so hard to explain in words but I’m just beyond grateful and truly blessed,” Andreescu said.
“I’ve worked really hard for this moment. This year has been a dream come true and now, to play Serena on this stage, a true legend of this sport, is amazing.”
Andreescu wasn’t even born when Williams won her first major title, the 1999 US Open.
“I never really thought about being famous,” Andreescu added.
“My goals have been to just win as many grand slams as possible, become No.1 in the world.”
“But the idea of fame never really crossed my mind.”
“I’m not complaining, though. It’s been a crazy ride this year. I can definitely get used to this feeling.”