Barnet took the lead in the eighth minute when Luke Gambin crashed a left-footed effort against the bar and Curtis Weston was quickest to react, rolling a shot into the net from eight yards.
Cheltenham had a penalty appeal for handball turned down four minutes later when Jack Barthram's cross from the right was charged down.
Danny Wright hit the left post in the 37th minute with Jamie Stephens beaten and almost immediately Barnet broke and hit the post themselves through Akinde, who powered past Dan Parslow.
But Cheltenham levelled in the 44th minute when Wright reached Jack Munns' free-kick and headed into the top right corner for his sixth goal of the season.
Barnet regained the lead seven minutes into the second half when Akinde finished off a swift break, latching onto Gambin's pass.
Griffiths saved Alex Nicholls' free-kick low to his left and Akinde hit the post again with a header in the 68th minute.
Report supplied by the Press Association
Match ends, Cheltenham Town 1, Barnet 2.
Second Half ends, Cheltenham Town 1, Barnet 2.
Kyle Storer (Cheltenham Town) wins a free kick in the attacking half.
Foul by Jack Taylor (Barnet).
Corner,  Cheltenham Town. Conceded by Curtis Weston.
Dan Holman (Cheltenham Town) wins a free kick in the defensive half.
Foul by John Akinde (Barnet).
Harry Pell (Cheltenham Town) is shown the yellow card for a bad foul.
Jamal Campbell-Ryce (Barnet) wins a free kick on the right wing.
Foul by Harry Pell (Cheltenham Town).
Jamal Campbell-Ryce (Barnet) is shown the yellow card.
Foul by Kyle Storer (Cheltenham Town).
Mauro Vilhete (Barnet) wins a free kick on the right wing.
Jack Barthram (Cheltenham Town) wins a free kick in the defensive half.
Foul by John Akinde (Barnet).
Substitution, Barnet. Alie Sesay replaces Luke Gambin.
Aaron Downes (Cheltenham Town) wins a free kick in the defensive half.
Foul by John Akinde (Barnet).
Corner,  Cheltenham Town. Conceded by Elliot Johnson.
Harry Pell (Cheltenham Town) wins a free kick in the defensive half.
Foul by Curtis Weston (Barnet).
Foul by Harry Pell (Cheltenham Town).
Bira Dembélé (Barnet) wins a free kick in the defensive half.
Attempt missed. Sam Muggleton (Barnet) right footed shot from outside the box is close, but misses to the left.
Substitution, Barnet. Sam Muggleton replaces Jean-Louis Akpa-Akpro.
Billy Waters (Cheltenham Town) is shown the yellow card for a bad foul.
Foul by Billy Waters (Cheltenham Town).
Jack Taylor (Barnet) wins a free kick on the right wing.
Substitution, Cheltenham Town. Amari Morgan-Smith replaces Daniel Wright.
Substitution, Barnet. Jamal Campbell-Ryce replaces Alex Nicholls.
Foul by Kyle Storer (Cheltenham Town).
Alex Nicholls (Barnet) wins a free kick on the right wing.
John Akinde (Barnet) hits the right post with a header from the centre of the box.
Jordan Cranston (Cheltenham Town) is shown the yellow card for a bad foul.
Foul by Jordan Cranston (Cheltenham Town).
Luke Gambin (Barnet) wins a free kick in the defensive half.
Dan Holman (Cheltenham Town) wins a free kick in the defensive half.
Foul by Jean-Louis Akpa-Akpro (Barnet).
Attempt missed. Billy Waters (Cheltenham Town) right footed shot from the left side of the box is close, but misses to the right.
Daniel Wright (Cheltenham Town) wins a free kick in the defensive half.
John Akinde's 17th goal of the season secured a win for Barnet at struggling Cheltenham Town.