Why can we not eat grains on Ekadashi? Krishna never mentioned this in Bhagavad Gita.
Ekadashi is a special day, which appears twice a month – once on the waxing moon and the next on the waning moon. And according to the Puranas, fasting from grains and beans is mandatory on this day. It is cleansing, both materially and spiritually. Fasting from grains and beans on Ekadashi has pragmatic explanations as well. According to Ayurveda, the ancient Vedic science of medicine, and according to complex astrological calculations, this is an auspicious time for such fasting.
Lord Krishna explains in Bhagavad-gita that someone offers a leaf, a flower, a fruit or water with love and devotion, He accepts them. All these items can be offered on Ekadashi days. He has not specifically mentioned about what food items can be consumed on Ekadashi day, since He did not have sufficient time to give all details at that time. When Lord Krishna came as Sri Chaitanya Mahaprabhu five hundred years ago He asked His mother for one boon out of the many things He could have asked her and that was to follow the Ekadashi brata (the vow of Ekadashi).
Extra chanting of God’s names is recommended on this day. One should use this time for spiritual pursuits. Fasting is good for the body, and, when properly directed, it is good for the soul. It is recommended in all of the world’s religions. And so the particular day, in one sense, is not as important as the principle although, in another sense, the days that are recommended are important as well. They have special meaning. One of our predecessor teachers, Srila Bhaktivinode Thakur, has said that if one even accidentally follows Ekadashi, he makes great spiritual advancement.