Ganesha doesn't eat a lot of food, he did that intentionally the day Kubera invited him to his palace.
As we know that Kubera is a lord of wealth, and because of this he felt proud and started showing off his richness.
One day, Kubera went to lord Shiva and Parvati to invite them to his palace but lord Shiva denied Kubers invitation, instead he said to Kubera to invite lord Ganesha and he proudly replied that he can feed 100's and 1000's of kids like Ganesha.
When lord Ganesha went to his palace, he was offered with food which is a common tradition in Hinduism when we have guests at home we offer them food. Lord Ganesha ate everything whatever was offered to him, and he asked for more, and soon there was no more food in his palace.
Because of this, Kubera ordered his troops to collect food around the village and offered Ganesha, but Ganesha was still hungry, and there was no more food around to give to lord Ganesha, and he said to Kubera that Kubera said proudly that he can feed 100's of kids like Ganesha, so as there's no more food now, he will eat him, this frightened Kubera and he went to lord Shiva for help.
After hearing to Kubera, lord Shiva told him to break his pride and provide lord Ganesha handful of rice, Kubera went back to his palace and offered handful of rice to lord Ganesha with Humility which satisfied lord Ganesha's hunger.
I've wrote the story as I've heard, but you can refer Wikipedia article for reference.