Remaye Campbell took the lead for the away side in the 35th minute with a lovely strike, before getting a second seven minutes later with a header from a corner.
Tai Sodje then pulled one back for the hosts in the dying embers, but it was too little too late.
The win moved the Bulls up to 19th, while the Bucks dropped to 17th.
Paul Caddis made four changes to the side that lost to King’s Lynn, with Mitchell Roberts, Lewis Hudson, Andy Williams, and I-Lani Edwards replacing Kyle Howkins, Lawson D’Ath, Eno Nto, and Sam Osborne.
John McGrath also made four alterations to the team that lost to Marine, with Tate Campbell, Cian Coleman, Keziah Martin, and Ryan Viggars coming in for Will Trueman, George Ward, Callum Ebanks, and Sodje.
Hereford got off to a lively start with plenty of possession in the early stages.
In the fifth minute, Paul Cooper had his first test in goal when Omari Sterling-James delivered a dangerous cross into the box, which he cut out before it could reach Andy Williams.
The home side had their first opportunity in the 17th minute, when Luke Brennan seemed to be through on goal, but some good defending from Keenan Quansah and Roberts slowed him down enough for Theo Richardson to come out and claim.
Buxton continued to grow into the game two minutes later, when Cian Coleman cut inside onto his right, but his curling effort was just wide of the far post.
After a quiet period, Caddis’ side took the lead in the 35th minute when the ball dropped to Campbell inside the box, who placed the ball into the far corner with a brilliant strike off the outside of his boot.
In the 42nd minute, Hereford doubled their lead when a corner from Sterling-James found Campbell in space, who hit a bullet header past the keeper for his second of the game.
That was the final action of a great first half for the Bulls, which meant it was 0-2 going into the break.
After a quiet start to the second 45, Buxton came close on the hour mark when Brennan’s corner curled over everyone’s head and hit the far post before being cleared away.
Hereford nearly had a third in the 65th minute when Matt Preston was picked out at the back post from a corner, but his headed effort was cleared off the line.
Brennan continued to cause the Bulls’ defence problems; this time, he went on a dangerous run which took him past multiple players and fired the ball just wide of the post from the edge of the area.
Around the 70th minute mark, the game suddenly became end-to-end with both sides having chances, the biggest one fell to Buxton substitute Ebanks just inside the box, but he dragged his shot wide.
The Bucks pulled one back in the 92nd minute when a brilliant ball from Ryan McLean found Sodje, who headed it home.
Hereford saw out the remaining few minutes, which meant it finished 1-2.
Hereford FC XI- T. Robinson, K. Quansah, M. Preston, M. Roberts, A. Skinner, O. Sterling-James (E. Nto 89’), M. Richards (L. D’Ath 75’), I. Edwards (S. Osborne 61’), L. Hudson (K. Howkins 72’), R. Campbell (C. Wreh 80’), A. Williams
Unused Subs: P. Bitemo, K. Williams
Buxton FC XI- P. Cooper, T. Campbell, K. Burton, J. Johnston (R. McLean 75’), C. Kirby, C. Coleman (C. Ebanks 63’), L. Brennan, K. Martin (D. Hill 75’), R. Viggars (T. Sodje 63’), M. Bardell, S. Robinson
Unused Subs: L. Melville, W. Trueman, G. Ward
Attendance: 709