Recovering from an intra-day low of 29,388.97, the BSE-share index was trading 949.11 points or 2.90 per cent higher at 33,727.25 at 1240 hours.
Similarly, the NSE Nifty was trading 216.45 points, or 2.26 per cent, up at 9,806.60.
In opening session, both indices plunged over 10 per cent, hitting their lower circuit levels, as new coronavirus-led recession fears triggered panic selling in the market.
Stock exchanges had halted trading for 45 minutes within 15 minutes for market opening. Normal trading resumed around 1030 hours.
"Last time we had a circuit freeze and halt to trading on January 22, 2008, when the Sensex had its biggest loss (till then) of 1,408 points," VK Vijaykumar, Chief Investment Strategist at Geojit Financial Services.
SBI was the biggest gainer in the Sensex pack, rallying up to 12 per cent, followed by Sun Pharma, HDFC, Tata Steel, Bajaj Finance, Maruti, ICICI Bank and Bharti Airtel.
On the other hand, Nestle India, Asian Paints, TechM, Hero MotoCorp and ONGC were trading up to 4 per cent lower.
According to market participants, volatility heightened in global markets as benchmarks world over went into panic mode, insinuating a manic selloff.
Mild recovery was seen in other Asian bourses too with Shanghai down 1.23 per cent, Hong Kong 2.60 per cent, Seoul 6.08 per cent and Tokyo 3.43 per cent.
The rupee too witnessed a sharp recovery, appreciating 36 paise at 73.92 per US dollar (intra-day).
Brent crude oil futures surged 3.25 per cent to USD 34.42 per barrel.
Around 130,000 cases of the new coronavirus or COVID-19 have been recorded in 116 countries and territories, killing at least 4,900 people.
The total number of confirmed cases in India stood at 75, including 17 foreigners, as per health ministry officials. ANSANS