The Leicestershire side were direct and had a goal disallowed in the 24th minute when Luke Varlone was adjudged offside as he slotted past Steve Hodgson.
But the visitors only had to wait a further five minutes before taking the lead through Kevin Charley, who volleyed home from just outside the box.
Kidsgrove offered little in reply and went in at half-time 2-0 down when centre-half Francino Francis scored at the back post following a stoppage-time corner.
Barwell had Jamie Towers sent off in the 55th minute after appearing to lead with his elbow in a challenge with Nick Ward, but Grove were unable to capitalise on their numerical advantage.
Grove had plenty of the ball, but were crowded out, although both Karl Charlton (pictured) and Matt Haddrell headed over.
Second-placed Kidsgrove now trail Barwell by nine points, with the front-runners also having a game in hand. By non-league Chris Harper.