The home side went in at half-time a goal to the good after Bradley Dack headed home a Paul Konchesky cross.
Charlton's Ricky Holmes saw a second-half penalty saved by Stuart Nelson, who had replaced the injured Jonathan Bond on the half-hour mark, but the Gills stopper could do nothing about Ajose's spot-kick a minute into time added on.
Dack saw Charlton goalkeeper Declan Rudd race out to block a 25th-minute shot before he looped a header home for the opening goal five minutes before half-time.
Charlton were much improved after the break but could not find a way past Nelson, who tipped a Josh Magennis header over before denying Holmes from 12 yards after Ryan Jackson had pulled down Fredrik Ulvestad.
But in injury time Gillingham's Chris Herd handled in the area and half-time substitute Ajose stepped up to fire the ball into the bottom right-hand corner.
Report supplied by the Press Association
Match ends, Gillingham 1, Charlton Athletic 1.
Second Half ends, Gillingham 1, Charlton Athletic 1.
Attempt blocked. Cody McDonald (Gillingham) right footed shot from the centre of the box is blocked.
Ezri Konsa Ngoyo (Charlton Athletic) is shown the yellow card for a bad foul.
Foul by Ezri Konsa Ngoyo (Charlton Athletic).
Cody McDonald (Gillingham) wins a free kick in the attacking half.
Chris Solly (Charlton Athletic) is shown the yellow card for a bad foul.
Foul by Chris Solly (Charlton Athletic).
Paul Konchesky (Gillingham) wins a free kick on the right wing.
Frank Nouble (Gillingham) wins a free kick in the attacking half.
Foul by Nicky Ajose (Charlton Athletic).
Foul by Jake Hessenthaler (Gillingham).
Fredrik Ulvestad (Charlton Athletic) wins a free kick in the defensive half.
Goal!  Gillingham 1, Charlton Athletic 1. Nicky Ajose (Charlton Athletic) converts the penalty with a right footed shot to the bottom right corner.
Stuart Nelson (Gillingham) is shown the yellow card.
Penalty conceded by Chris Herd (Gillingham) with a hand ball in the penalty area.
Frank Nouble (Gillingham) is shown the yellow card.
Ezri Konsa Ngoyo (Charlton Athletic) wins a free kick in the attacking half.
Foul by Billy Knott (Gillingham).
Delay over. They are ready to continue.
Substitution, Gillingham. Emmanuel Osadebe replaces Ryan Jackson because of an injury.
Attempt missed. Andrew Crofts (Charlton Athletic) right footed shot from outside the box is close, but misses to the left.
Attempt saved. Lee Novak (Charlton Athletic) right footed shot from a difficult angle on the left is saved in the centre of the goal.
Attempt missed. Frank Nouble (Gillingham) right footed shot from outside the box is close, but misses to the left.
Substitution, Charlton Athletic. Lee Novak replaces Josh Magennis.
Attempt missed. Bradley Dack (Gillingham) left footed shot from the centre of the box is close, but misses to the right.
Corner,  Charlton Athletic. Conceded by Paul Konchesky.
Foul by Max Ehmer (Gillingham).
Ricky Holmes (Charlton Athletic) wins a free kick in the attacking half.
Foul by Chris Herd (Gillingham).
Jason Pearce (Charlton Athletic) wins a free kick in the attacking half.
Paul Konchesky (Gillingham) wins a free kick in the attacking half.
Foul by Fredrik Ulvestad (Charlton Athletic).
Corner,  Charlton Athletic. Conceded by Max Ehmer.
Attempt blocked. Ademola Lookman (Charlton Athletic) right footed shot from outside the box is blocked.
Bradley Dack (Gillingham) wins a free kick in the defensive half.
Foul by Ricky Holmes (Charlton Athletic).
Foul by Fredrik Ulvestad (Charlton Athletic).
Chris Herd (Gillingham) wins a free kick in the attacking half.
Corner,  Charlton Athletic. Conceded by Stuart Nelson.
Nicky Ajose's last-gasp penalty saw Charlton come from behind to salvage a draw at Gillingham.