first of all, does he get chances to graze when he is back at the stable? I mean, turn out with grazing time? this is really essential, in my view, to a horse's well being.
That said, he cannot be allowed to graze under saddle, EVER. that means that even back at the stable/yard, or whatever you call it, when you put the lead on him, he is at work and no grazing. certainly not when you are in the saddle.
Don't allow him to eat, even if you are just standing there chatting with a friend. this is a bad habit.
some horses will be ok if you allow them to graze under saddle, with rider up. others will not. personally, i no longer allow any horse I am riding to graze with me aboard.
So, start being very clear that when it's "work" time, he is never allowed to graze. this applies to leading him , too.
work with him where it is more open, and less dangers of road traffic. When/if he starts to put his head down for a mouthfull, you immediately put him to work. Quick! leg on, and if nothing, immediately put the crop on smartly. get him moving forward. then allow him to come back to a walk. if he makes that same choice, to go for a mouthfull, crop on! work!
it's not so much that you try to pull his head up with both reins (which he will win that battle) but rather that if he chooses to eat, you will make that very uncomfortable , EVERY time.