Media playback is not supported on this device
Kerber, seeded seventh, won a thrilling final 6-4 3-6 6-4 at Melbourne Park.
The 28-year-old is the first German to win a major singles title since Steffi Graf at the 1999 French Open.
Williams, 34, was beaten for just the fifth time in 26 Grand Slam finals, and the American missed the chance to tie Graf's open-era record of 22 titles.
Kerber, who saved a match point in her first-round win over Misaki Doi, will move up to number two in the world rankings.
Kerber had won just one of six previous matches against Williams and was making her Grand Slam final debut, but she was the better player over two hours and eight minutes on Rod Laver Arena.
She led Williams in the ace count until the latter stages, limiting her to just seven overall, while the American racked up 46 errors to just 13 by Kerber.
Williams made 23 mistakes in the first set alone - sparking memories of her desperately nervous display in losing to Roberta Vinci at the US Open last September - and Kerber took full advantage to claim it after 39 minutes.
However, the defending champion cut her error count to just five in the second set and claimed it thanks to a single break in game four.
Kerber twice moved ahead in the decider and a stunning sixth game saw the German produce two fine drop shots and win a breathtaking 19-stroke rally to cling on to her serve and edge closer to victory.
Nerves took hold and she was broken while serving for the match, but she launched into the Williams serve once again and clinched the title when the world number one sent a volley long.
Kerber said afterwards that being able to say she was a Grand Slam champion "sounds crazy".
"It's my dream come. I worked for this my whole life," said the German.
"It's been such an up and down two weeks, I was match point down in the first round and had one foot in the plane to Germany.
"Now I have beaten Serena and won the championship. I have so many emotions, so many thoughts, but all of them good ones."
Williams was gracious in defeat, telling Kerber: "Angie, congratulations. You deserve this and I'm so happy for you. I really hope you enjoy this moment."
The runner-up added: "Would I give my performance an A? No, but this is all I could produce.
"I'm not a robot. I do the best that I can. I try to win every point but realistically I can't. Maybe someone else can."
BBC tennis correspondent Russell Fuller
Kerber had to save a match point just to avoid losing in the first round, and she proved her mental toughness again when the title was on the line.
Having pressured Williams into a string of unforced errors in the first set by chasing down virtually every ball, she mixed true grit with sheer class as she broke for a 4-2 lead in the deciding set. Two glorious drop shots were the highlight of a ten minute plus game of five deuces, in which Williams saved 4, but not 5, break points.
Nerves can be harder to deal with as the years tick by, especially when your opponent makes just 13 unforced errors over 2 hours and 8 minutes, and the pressure told when Williams served to stay in the match for a second time.
Kerber will rise to world number 2 and is as well placed as anyone, on the evidence of today, to further frustrate Williams' bid for a record equalling 22nd Grand Slam title.
Germany's Angelique Kerber stunned world number one Serena Williams in three sets to win her first Grand Slam title at the Australian Open.