Cheltenham took the lead after 32 minutes through midfielder Kaid Mohamed. The winger found himself unmarked and powered home a close-range header from Marlon Pack’s corner.
Nine minutes later Barnet were level when a patient build up saw Sam Deering cross from the by-line to find McLeod, who neatly swept home from five yards.
Two minutes before the break Cheltenham were awarded a penalty for a foul on Mohamed by Mark Hughes. Darryl Duffy kept his cool and slammed home his seventh league goal of the campaign.
But Barnet won a penalty of their own on the hour. McLeod was dragged down when through on goal by Sido Jombati before stepping up and converting from 12 yards for his 14th league goal of the season.
Substitute Brian Smikle had the chance to win it late on for Cheltenham but he lobbed wide after latching on to a long clearance.