The government said it would still allow exports backed by already issued letters of credit and to countries that request supplies "to meet their food security needs".
The move to ban overseas shipments was not in perpetuity and could be revised, senior government officials told a press conference.
Global buyers were banking on supplies from the world's second-biggest wheat producer after exports from the Black Sea region plunged following Russia's Feb. 24 invasion of Ukraine. Before the ban, India had aimed to ship a record 10 million tonnes this year.
The officials added that there was no dramatic fall in wheat output this year, but unregulated exports had led to a rise in local prices.
"We don't want wheat trade to happen in an unregulated manner or hoarding to happen," commerce secretary BVR Subrahmanyam told reporters in New Delhi.
Although not one of the world's top wheat exporters, India's ban could drive global prices to new peaks given already tight supply, hitting poor consumers in Asia and Africa particularly hard.
"The ban is shocking," a Mumbai-based dealer with a global trading firm said. "We were expecting curbs on exports after two to three months, but it seems like the inflation numbers changed the government's mind."
Rising food and energy prices pushed India's annual retail inflation near an eight-year high in April, strengthening expectations that the central bank would raise interest rates more aggressively.
Wheat prices in India have risen to record highs, in some spot markets hitting 25,000 rupees ($320) per tonne, well above the government's minimum support price of 20,150 rupees.
Rising fuel, labour, transportation and packaging costs are also boosting the price of wheat flour in India.
"It was not wheat alone. The rise in overall prices raised concerns about inflation and that's why the government had to ban wheat exports," said another senior government official who asked not to be named as discussions about export curbs were private. "For us, it's abundance of caution."
India this week outlined its record export target for the fiscal year that started on April 1, saying it would send trade delegations to countries such as Morocco, Tunisia, Indonesia and the Philippines to explore ways to boost shipments.
In February, the government forecast production of 111.32 million tonnes, the sixth straight record crop, but it cut the forecast to 105 million tonnes in May.
A spike in temperatures in mid-March means the crop could instead be around 100 million tonnes or even lower, said a New Delhi-based dealer with a global trading firm.
"The government's procurement has fallen more than 50%. Spot markets are getting far lower supplies than last year. All these things are indicating lower crop," the dealer said.
Cashing in on a rally in global wheat prices after Russia invaded Ukraine, India exported a record 7 million tonnes of wheat in the fiscal year to March, up more than 250% from the previous year.
"The rise in wheat price was rather moderate, and Indian prices are still substantially lower than global prices," said Rajesh Paharia Jain, a New Delhi-based trader.
"Wheat prices in some parts of the country had jumped to the current level even last year, so the move to ban export is nothing but a knee-jerk reaction."
Despite a drop in production and government purchases by the state-run Food Corporation of India (FCI), India could have shipped at least 10 million tonnes of wheat this fiscal year, Jain said.
The FCI has so far bought a little over 19 million tonnes of wheat from domestic farmers, against last year's total purchases of a record 43.34 million tonnes. It buys grain from local farmers to run a food welfare programme for the poor.
Unlike previous years, farmers have preferred to sell wheat to private traders, who offered better prices than the government's fixed rate.
In April, India exported a record 1.4 million tonnes of wheat and deals were already signed to export around 1.5 million tonnes in May.
"The Indian ban will lift global wheat prices. Right now there is no big supplier in the market," another dealer said.
($1 = 77.4700 Indian rupees)
(Reporting by Rajendra Jadhav in Mumbai and Mayank Bhardwaj in New Delhi; Additional reporting by Nupur Anand; Editing by William Mallard, Simon Cameron-Moore and Mike Harrison)
By Rajendra Jadhav, Mayank Bhardwaj and Nigam Prusty