Gills eliminated from the Kent Senior Cup on penalties.
David Livermore took his Gillingham eleven to a clear, chilly Longmead Stadium with The Gills hoping to progress to the final at MEMS Priestfield Stadium this May.
Tonbridge took the lead from a deflected Tommie Fagg shot in the third minute. A move down the right involving Ruben Soares-Junior was cleared but the striker regained possession and hit a right foot shot in off Sam Gale inside Jake Turner's left hand post.
Tonbridge dominated possession, leading to a move on the right side, with Soares-Junior teasing Bailey Akehurst before blazing his shot over the bar on ten minutes.
Fagg missed the target on thirteen minutes after Cheye Alexander lost possession in the right full back area.
Sam Skipper played in Joe Gbode on eighteen minutes, but his right foot strike from twelve yards was saved by Jonathan Henly in the hosts' goal.
An off the ball scuffle broke out involving Cheye Alexander and Ben Swift, resulting in a yellow card for each player in the 22nd minute, after referee Scott Rudd consulted his assistant. A free-kick to Gillingham restarted the game.
Tariq Hinds' mazy run down the right side resulted in a left foot shot wide of Jake Turner's far post on 27 minutes, as Tonbridge continued to dominate.
Tonbridge showed a good mix of physical strength and neat, intricate passing football, particularly down their right side.
Soares-Junior and Hinds again broke down the right, before squaring to Wood, who shot over the bar on 33 minutes.
Jordan Green tested Henly from 20 yards ten minutes before the break, but the keeper made a comfortable save.
Turner had to be alert on 39 minutes when the Gills defence were caught by a high Tonbridge press. Turner stepped forward and decisively cleared with his right foot.
Half time: Tonbridge Angels 1-0 Gillingham
Gillingham started the second half brightly with Joe Gbode having a shot blocked and striking the rebound over in the first minute of the second half.
Tonbridge were awarded a penalty on 50 minutes following a foul in the area. Turner saved Devonte Aransibia's spot kick at a comfortable height to his right side.
Gillingham made a double substitution on 65 minutes when Garrett and Giles replaced Coleman and Carter.
Joe Turner came close for the hosts on 69 minutes when he neatly controlled a long ball and cut inside before clearing the bar from 20 yards.
A raking long diagonal ball from Alex Giles found Kai Garrett on 72 minutes but he was a yard offside.
Sustained pressure from the hosts led to the Gills equalising in the 77th minute. A breakaway found Jayden Clarke who cut across his marker and deftly finished from the edge of the area past the approaching Jonathan Henly.
Harry Bridle replaced Cheye Alexander in the latter stages before Tonbridge came close, Soares-Junior shooting narrowly wide from 20 yards.
A low shot from Lewis Gard from the edge of the area was comfortably saved by Jake Turner in the last minute of normal time.
This competitive fixture was to be decided by a penalty shoot-out when the final whistle called an end to the proceedings after four minutes of stoppage time.
Full time: Tonbridge Angels 1-1 Gillingham
Tonbridge 1-0 Gillingham Turner scored
Tonbridge 1-1 Gillingham Kuhr scored
Tonbridge 2-1 Gillingham Aransibia scored
Tonbridge 2-1 Gillingham Gale saved
Tonbridge 3-1 Gillingham Fagg scored
Tonbridge 3-1 Gillingham Clarke missed
Tonbridge 4-1 Gillingham Soares-Junior scored
Final Score: Tonbridge Angels 1-1 Gillingham (Tonbridge Angels win 4-1 on penalties)
Tonbridge Angels: Henly, Fielding, Braham-Barrett, Swift, Gard, Wood, Turner (c), Hinds, Soares-Junior, Aransibia, Fagg. Subs: Miles, Velvick, Vowles, Hermitage, Gibb.
Gillingham: Turner, Alexander (c) (Bridle), Akehurst, Kuhr, Carter (Giles), Gale, Green, Coleman (Garrett), Gbode, Skipper, Clarke. Subs: Giles, Holtam, Bayliss, Garrett, Bridle.
Referee: Scott Rudd