Under the plan, which still needs to be approved by the upper house, 800 million poor people would be entitled to 5kg of cheap grain every month.
The Congress party argues that it is a big step towards eradicating malnutrition in India.
The programme will cost 1.3 trillion rupees (£12.5bn) a year to run.
Congress party president Sonia Gandhi had urged MPs to pass the welfare scheme, which she said was part of an "empowerment revolution" and worthy of unanimous support.
Ms Gandhi said some has questioned the programmes cost.
"The question is not about resources. We will have to manage resources for this," she said.
"The question is not if we can do it. We have to do it."
India accounts for a third of the world's poor and supporters hope that such assistance will help to reduce poverty and hunger.
The Bill proposes to provide a kilo of rice at three rupees (3p), wheat at two rupees and millet at one rupee to 75 per cent of rural people and half of city dwellers.
The cabinet passed the measure last month, using special constitutional powers to enable President Pranab Mukherjee to sign it temporarily into law.
But full parliamentary approval is needed before September 6 for it to remain on the books.