A hat-trick by the Evostik Northern Premier League’s top scorer left Buxton without a win in three league matches.
Lee Shaw did the damage with goals in both halves as high-flying Grantham won 3-0 at Silverlands.
It was perhaps rough on mid-table Buxton, who took the game to the visitors for long periods but were punished for failing to take early chances and then failing to create opportunities in a second period they dominated.
The home side limited the Gingerbreads to few chances, but the visitors were more clinical in front of goal.
Defender Ben Middleton, signed on a short-term loan from Harrogate Town the previous day, made his debut for Buxton.
He was joined by fellow home debutant Ioan Evans, on loan from Gainsborough Trinity, in a five-man defence, but they could not keep out the sharp-shooting Shaw.
Yet it was the home side who started brightly. Luke Hinsley had an early shot deflected for a corner, before the midfielder went even closer moments later, lifting his finish over the bar after good work by Liam Hardy. Evans also headed over when well placed.
At the other end central defender Joe Maguire rose highest to head clear an early Grantham corner.
Buxton keeper Jan Budtz held a shot as the visitors pressed for the breakthrough, which finally arrived midway through the first half.
A shot was cleared for a corner and when the flag-kick was sent back to the corner-taker, a second cross by Curtis Burrows was converted by Shaw in the 26th minute.
Hardy’s shot was straight at the keeper as the home side pressed for an immediate reply.
The Bucks did have the ball in the net just before half-tine, but it was ruled out for offside.
Manager Martin McIntosh brought on Ricky Ravenhill for Maguire as the home side stepped up their search for an equaliser in the second period. Joe McGee was also replaced by Curtis Morrison.
But 15 minutes from the visitors were awarded a penalty and Shaw doubled his and Grantham’s tally from the spot.
He completed his treble in the final minute, getting on the end of a ball from Danny Meadows, to seal Buxton’s sixth home defeat.
Buxton are without a game next weekend.