India's lower house of parliament has approved a €15 billion plan to provide cheap grain to two-thirds of the country’s population.
Under the plan, the government will sell subsidised wheat and rice to 67% of its population of 1.2 billion, a key part of the ruling Congress party's strategy to win re-election.
India is home to a quarter of the world's hungry poor, according to United Nations data.
This is despite the country being one of the world's biggest food producers and having experienced years of rapid economic growth.
The vote broke a long stalemate in parliament, potentially clearing the way for several reforms aimed at boosting the economy.
The government hopes to pass the law in an extended session that ends on 6 September.
Faced with an unruly parliament, Prime Minister Manmohan Singh's coalition government last month resorted to an executive order to implement the programme, which his Congress party hopes will help win it a third consecutive term in power. The next election is due by May.
The Rajya Sabha upper house must now approve the decree before it becomes law.
In a foretaste of the battle for votes to come, the main opposition party said the welfare scheme, which expands an existing cheap food programme covering 218 million people, is still too narrow to tackle widespread malnutrition among India's millions of poor.
The bill was passed only after nearly nine hours of debate and the inclusion of amendments that government sources said could lead to an additional requirement of about 3 million tonnes of grain.
Mr Singh said last year that child malnutrition in India, where almost 50% of children are underweight, was a "national shame".
Despite that, some critics have dubbed the new plan a waste of public money at a time when growth has been steadily slowing.