Each team had an early chance before Dover captain Jamie Grimes' looping header put the visitors ahead in the eighth minute.
Macclesfield keeper Scott Flinders, making his first appearance after signing from York, misjudged a free-kick, allowing Grimes to nod in.
Flinders saved a curling James Hurst effort and Dover had a goal ruled out just after half-time.
Those missed opportunities came back to haunt Athletic when Holroyd got on the end of Danny Whitaker's shot to level in the 69th minute before bursting through and scoring again soon after.
Flinders atoned for his early error by brilliantly keeping out Moses Emmanuel's late volley as Macclesfield held on for a victory that moves them to within six points of promotion-chasing Dover.
Report supplied by the Press Association.
Match ends, Macclesfield Town 2, Dover Athletic 1.
Second Half ends, Macclesfield Town 2, Dover Athletic 1.
Substitution, Macclesfield Town. Laurie Bell replaces Chris Holroyd.
Substitution, Dover Athletic. Tyrone Marsh replaces Ricky Miller.
Ricky Miller (Dover Athletic) is shown the yellow card.
Richard Orlu (Dover Athletic) is shown the yellow card.
Goal!  Macclesfield Town 2, Dover Athletic 1. Chris Holroyd (Macclesfield Town).
Substitution, Dover Athletic. Jim Stevenson replaces Ricky Modeste.
Goal!  Macclesfield Town 1, Dover Athletic 1. Chris Holroyd (Macclesfield Town).
Substitution, Macclesfield Town. Anthony Dudley replaces Jack Sampson.
Substitution, Dover Athletic. Chris Kinnear replaces James Hurst.
Second Half begins Macclesfield Town 0, Dover Athletic 1.
First Half ends, Macclesfield Town 0, Dover Athletic 1.
James Hurst (Dover Athletic) is shown the yellow card.
Goal!  Macclesfield Town 0, Dover Athletic 1. Jamie Grimes (Dover Athletic).
First Half begins.
Lineups are announced and players are warming up.

The BBC Two production comes from the same team as the award-winning Hollow Crown series and will be directed by Dominic Cooke.
Cumberbatch said he "can't wait... to bring this complex, funny and dangerous character to life for the BBC".
His Sherlock co-star Martin Freeman will play the same role in London's West End later this year.
Freeman, who plays Dr John Watson in the BBC One drama, will take to the stage at Trafalgar Studios in the play, directed by Jamie Lloyd, .
Lloyd directed the theatre's production of Macbeth last year, starring James McAvoy.
BBC Two's new adaptation of the Shakespeare play will also mark the TV debut of director Cooke - a former artistic director of the Royal Court theatre.
Executive producer, Pippa Harris, said: "Neal Street Productions worked with Benedict on both Stuart: A Life Backwards for the BBC and the film Starter For Ten. His range and dexterity as an actor make him the perfect choice to bring one of Shakespeare's towering characters to television."
Ben Stephenson, the controller BBC Drama, described Cumberbatch as "one of the world's most brilliant and in-demand actors".
The 37-year-old will also star in William Shakespeare's classic tragedy Hamlet at London's Barbican Theatre in August next year.
Two Chris Holroyd goals in six second-half minutes gave Macclesfield a 2-1 win over Dover at Moss Rose in the National League.
[NEXT_CONCEPT]
Sherlock star Benedict Cumberbatch will play Richard III in the BBC's second series of Shakespeare's History plays.