Goals from Joel Grant and Clayton Donaldson saw Crewe grab all three points at Underhill as Dario Gradi's team now go five games unbeaten in the league and only four points off the play-offs.
The defeat saw the Bees now go seven games without a win and in the process saw Crewe leapfrog over them in the league table.
Crewe started brightly and pressured Barnet with a few corners in the first minute and it was Luke Murphy who went close to scoring after Ashley Westood set up the midfielder who just fired wide of the upright.
Crewe continued to pressure and had a strong penalty turned down after Bees keeper brought down Matt Tootle, although the ref saw different and booked Tootle for diving.
Barnet then started to come more into the game with on loan defender Dean Sinclair going close for the Bees but it was Crewe who then tested the Barnet keeper with a gilt edge chance from Clayton Doanldson being stopped by Jake Cole.
Although Cole could not stop Joel Grant netting his 6th goal of the season on the 25th minutes with a clever long ball from Simon Walton and Grant running into space and putting the Alex one up.
With half-time approaching Crewe failed to go into the break with a clean sheet when Dean Sinclair slotted in a Albert Jarrett cross to send the Bee's into the break on level terms.
After the break it was Barnet who started the brightest with chances coming from McAllister and John O'Flynn who just put his shot wide on the 53rd minute.
Ashley Westwood went off injured after blocking O'Flynn's shot that looked goal bound.
Donaldson then netted his fourth goal of the season on the 67th minute after capitalising on a mix up in the Barnet defence but yet again it was Barnet who came back strong but Crewe held out for another league win on the road.