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. (BBC)