As of midnight on Tuesday, 500 and 1,000 rupee notes, worth about £6.09 and £12.17, will have no cash value, Mr Modi said in a televised address.

"A few people are spreading corruption for their own benefit," he said in the speech. "There is a time when you realise that you have to bring some change in society, and this is our time."

People holding the discontinued notes will be able to deposit them in bank and post office savings accounts before the end of the year - but anyone making large deposits will find themselves the target of Indian tax authorities. The government will shortly be issuing new 500 and 2,000 rupee notes, the prime minister said.

India's economy - and its tax base - has long been hobbled by a culture of what is known as "black money", with business people using cash to avoid paying taxes. Raids on corrupt politicians and businesses regularly turn up people holding millions of dollars' worth of rupees, with cash sometimes filling dozens of boxes.

The government has been urging people over the past year to declare the money they are holding in cash.

Across the country, people rushed to cash machines where money could be withdrawn in 100 rupee notes, trying to avoid being caught without cash over the next few days.

Anuj Mathur, a banker, was among more than two dozen people lined up outside a south New Delhi cash machine at about 10pm .

He said it will be an inconvenience for the next few days, until the new notes are in circulation, but applauded the government's decision.

"It's a good measure," he said. "This will clean up the system."

The sudden change will be difficult for India's millions of poor people, many of whom do not have bank accounts and who may not have cash available in lower-currency notes to keep themselves financially afloat for the next few days.

"It will cause some hardship to you," Mr Modi said in his speech. "Let us ignore those hardships."

In an indirect reference to rival Pakistan, Mr Modi also accused a neighbouring country of circulating fake Indian currency to damage the Indian economy.