Stuart Nicholson and Rickie Lambert were on target as Bristol Rovers moved up to ninth place in League Two.
Rovers keeper Steve Phillips saved well from Dean Sinclair in the first half.
But a poor backpass by Bees veteran Andy Hessenthaler allowed on-loan West Brom striker Nicholson to put Rovers ahead with a low shot on the hour.
Stuart Campbell then hit the post with a free-kick for Rovers, and Lambert burst through to score a fine solo goal in stoppage time as Barnet faded.
Bristol Rovers: Phillips, Ryan Green, Anthony, Elliott, Carruthers, Igoe, Campbell, Disley, Haldane (Sandell 90), Walker, Nicholson (Lambert 76).
Subs Not Used: Mike Green, Hinton, Lescott.
Booked: Campbell, Nicholson.
Goals: Nicholson 60, Lambert 90.
Barnet: Harrison, Hendon, Yakubu, King, Nicolau, Cogan (Birchall 72), Hessenthaler, Bailey, Puncheon, Hatch, Sinclair.
Subs Not Used: Flitney, Graham, Warhurst, Charles.
Booked: Hendon, Hatch, Nicolau.
Att: 5,351
Ref: M Jones (Cheshire).