Neil Danns put the hosts in front with a 27th-minute penalty, which was cancelled out by Lyle Taylor after 39 minutes.
Meades then struck at the death to stretch the Dons' unbeaten run to eight games while condemning Bury to a fifth straight defeat.
Persistent rain contributed to a poor start at Gigg Lane, with the first chance not coming until the penalty incident.
Paul Robinson tripped James Vaughan in the box and Danns side-footed the spot-kick into the bottom corner.
But the visitors equalised when Andy Barcham jinked to the byline and crossed for an unmarked Taylor to head home.
Bury's Zeli Ismail then fired over before the break, while Barcham had a shot deflected wide.
The game improved as the rain subsided after half-time, with Dean Parrett testing home keeper Ben Williams and Bury's Danny Mayor twice going close from 20 yards.
Bury substitute Tom Walker curled a late free-kick just over, but Meades had the final say, heading home from a Jake Reeves corner.
Reports supplied by the Press Association.
Match ends, Bury 1, AFC Wimbledon 2.
Second Half ends, Bury 1, AFC Wimbledon 2.
Attempt missed. Tom Walker (Bury) left footed shot from outside the box is close, but misses to the right.
Goal!  Bury 1, AFC Wimbledon 2. Jonathan Meades (AFC Wimbledon) header from the centre of the box to the bottom right corner. Assisted by Jake Reeves with a cross following a corner.
Corner,  AFC Wimbledon. Conceded by Danny Mayor.
Attempt missed. Tom Walker (Bury) left footed shot from outside the box is just a bit too high from a direct free kick.
James Vaughan (Bury) wins a free kick in the defensive half.
Foul by Barry Fuller (AFC Wimbledon).
Attempt missed. Andrew Tutte (Bury) right footed shot from outside the box is high and wide to the right from a direct free kick.
Foul by Jonathan Meades (AFC Wimbledon).
James Vaughan (Bury) wins a free kick in the defensive half.
Corner,  AFC Wimbledon. Conceded by Niall Maher.
Attempt blocked. Alfie Egan (AFC Wimbledon) left footed shot from the centre of the box is blocked.
Corner,  AFC Wimbledon. Conceded by Tom Walker.
Corner,  AFC Wimbledon. Conceded by Niall Maher.
Attempt blocked. Dominic Poleon (AFC Wimbledon) right footed shot from the left side of the box is blocked.
Foul by Dean Parrett (AFC Wimbledon).
Tom Walker (Bury) wins a free kick on the left wing.
Dean Parrett (AFC Wimbledon) wins a free kick in the defensive half.
Foul by Ishmael Miller (Bury).
Attempt saved. Danny Mayor (Bury) right footed shot from outside the box is saved in the centre of the goal.
Foul by Barry Fuller (AFC Wimbledon).
James Vaughan (Bury) wins a free kick on the left wing.
Attempt saved. James Vaughan (Bury) right footed shot from outside the box is saved in the centre of the goal.
Substitution, AFC Wimbledon. Tom Elliott replaces Tyrone Barnett.
Foul by Darius Charles (AFC Wimbledon).
Ishmael Miller (Bury) wins a free kick in the defensive half.
Darius Charles (AFC Wimbledon) wins a free kick in the defensive half.
Foul by Ishmael Miller (Bury).
Substitution, AFC Wimbledon. Alfie Egan replaces Dannie Bulman.
Substitution, AFC Wimbledon. Dominic Poleon replaces Lyle Taylor.
Andrew Tutte (Bury) is shown the yellow card for a bad foul.
Jonathan Meades (AFC Wimbledon) wins a free kick in the attacking half.
Foul by Andrew Tutte (Bury).
Substitution, Bury. Ishmael Miller replaces Hallam Hope.
Corner,  Bury. Conceded by Dean Parrett.
Substitution, Bury. Tom Walker replaces Zeli Ismail.
Substitution, Bury. Andrew Tutte replaces Neil Danns.
Attempt missed. Danny Mayor (Bury) right footed shot from outside the box is close, but misses to the right.
Attempt saved. Dean Parrett (AFC Wimbledon) right footed shot from outside the box is saved in the centre of the goal.
Jonathan Meades headed home in stoppage time to hand AFC Wimbledon victory at Bury in League One.