A recovery in European markets and covering-up of short positions ahead of September derivatives expiry also helped to boost the sentiment.
The bourses initially witnessed all-round heavy selling as anxious investors grappled with fears of an entrenched global economic slowdown, sustained Foreign funds unwinding and also weakening rupee.
However, wiping all the initial losses, the key indices staged a strong recovery in mid-afternoon trade as investors opted to buy beaten down but fundamentally strong stocks, mainly in rate sensitive counters on hopes of a rate cut by the apex bank in its upcoming policy review.
Foreign investors sold shares worth Rs 1,052.24 crore yesterday, as per provisional data.
Also Read
Meanwhile, other major Asian bourses ended sharply lower spooked by sluggish Chinese manufacturing data as well as overnight plunge in many commodity prices, rekindling worries about the world's second-largest economy amid renewed uncertainty over the global growth outlook.
On the contrary, European equities are trading sharply higher on improved euro zone business sentiment.
The 50-share index resumed with a gap-down at 7,737.35 and swung widely between 7,723.25 and 7,882.90 before finishing at 7,845.95, showing a gain of 33.95 points or 0.43 per cent.
Financials were the top sectoral gainers with the Bank Nifty surging by 1.32 per cent and PSU Bank over 1.17 per cent. It was followed by Realty, FMCG, Energy, Healthcare and metal. However, Infra, Technology and Auto counters remained under selling pressure.
Mid-cap and Small-cap also regain some lost ground, up by 0.63 and 0.42 per cent, respectively.
Major index movers were HDFC Bank, ITC, Infosys, ICICI Bank, Kotak Bank, Lupin, M&M, Indusind Bank, L&T, SBI, BPCL, ONGC, Reliance, Cairn India, Vedanta, TCS, Coal India, Axis Bank, Yes Bank, Hero MotCorp and NTPC.
Turnover in the cash segment fell to Rs 15,717.74 crore from Rs 17,421.01 crore yesterday.
A total of 8,411.92 lakh shares changed hands in 7,083,234 trades and the total market capitalisation of NSE stood at Rs 93,80,974 crore.