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 blunts Williams' power game
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.
'A dream come true'
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."