It tracked gains in index-heavyweight Reliance Industries and strong signals from the global markets.
Reclaiming the 37,000 level in the opening session, the BSE Sensex was trading 413.03 points, or 1.13 per cent, higher at 37,007.36.
Meanwhile, NSE Nifty surged 123.35 points, or 1.15 per cent, to 10,891.40.
Bourses in Shanghai, Hong Kong, Tokyo and Seoul were trading with significant gains amid hopes of a better earning season.
Meanwhile, international oil benchmark Brent crude futures fell 0.74 per cent to USD 42.92 per barrel.