The 22nd seeded Russian came back from 3-0 down in the deciding set as seven-times Grand Slam champion Williams struggled to hold serve at Margaret Court Arena.
The 33-year-old Williams had conceded a decisive break in the second set with three successive double-faults and was powerless to prevent Makarova from sealing the match in a hurry.
Makarova brought up three match points with a big volley and closed it out when Williams blasted long on the second of them.
The Russian next faces American Irina Falconi.
Image: Venus Williams of the U.S. hits a return to Ekaterina Makarova of Russia during their women's singles match at the Australian Open 2014 tennis tournament in Melbourne on Monday
Photograph: Jason Reed/ Reuters
Stosur survives as top players toil in warm-ups tourneys
Australian Open champion Azarenka coy on Williams rivalry
PHOTOS: Federer trades shots with hero Rod Laver for charity
Injury-free Sharapova realistic before Australian Open
Brisbane: Federer, Serena looking to get on a roll