Last year the 24-year-old from Moscow knocked out Serena Williams in the same round - and now is looking forward to a possible match-up with second seed Maria Sharapova.
Kerber, the fifth seed, had won the past three meetings between the pair but struggled on Sunday and was intermittently treated for a back problem.
Makarova took 92 minutes to close out the match, running up three match points in the 10th game and sealing it with an ace at her first opportunity.
Sharapova, who has lost four games in three rounds, meets Belgian Kirsten Flipkens for a quarter-final place.
Makarova said she wanted to play the Russian because she had learnt a lot since her quarter-final appearance here last year.
"I really want to play Maria because I played against her a lot last year and I think it would be really interesting," Makarova said.
"I think I am more prepared this time.
"Last year I was surprised a little bit and had so many thoughts in my mind."
The Russian said she found it difficult to overcome Kerber with the German's speed and angled shots winning her so many points.
Makarova won the first two matches between the two but lost three times to Kerber in 2012.