Corporate earnings set the ball rolling as blue-chips' quarterly numbers were mostly in line.
Investors got their confidence level back with a higher opening in Europe as the US Federal Reserve went into its latest policy meeting, brokers said.
The Bank of Japan is also due to meet this week.
Foreign inflows continued unabated, which helped. The NSE Nifty topped the psychological 7,900.
Major Asian indices closed mixed tracking the overnight gains on the Wall Street, which made European shares rule strong in early trade.
More From This Section
The index has lost 201.45 points over the past two days.
The broader NSE Nifty soared 107.60 points, or 1.37 per cent, to close the day at 7,962.65 after shuttling between 7,822.55 and 7,973.05.
The rupee, at 66.52, notched up gains against the dollar, which spurred the bulls.
"Fourth quarter results season has kicked off and has managed to meet market expectations for most sectors till now," said Hiren Dhakan, Associate Fund Manager, Bonanza Portfolio.
Tata Steel, Cipla, BHEL, Lupin and Axis Bank too gained.
Of the 30-share Sensex, 28 advanced.
On the sectoral front, banking zoomed 2.02 per cent, followed by metal 1.98 per cent, realty 1.93 per cent, auto index 1.57 per cent, technology 1.16 per cent and IT 1.13 per cent.
Broader markets such as the BSE mid-cap and small-cap rose 0.79 per cent and 0.68 per cent, respectively.
Cigarette stocks found themselves at the receiving end following reports that the government is working on a proposal to completely ban foreign direct investment (FDI) in the tobacco sector. Godfrey Phillips fell 17.54 per cent to Rs 931.25.
Key indices in France, Germany and the UK moved up by up
to 0.45 per cent.
The Bank of Japan (BoJ) is scheduled to hold a two-day monetary policy meeting on Wednesday and Thursday, which is expected to come out with more policy-easing measures.
The market breadth turned positive as 1,584 stocks ended higher, 982 closed lower while 173 ruled steady.
The total turnover fell sharply to Rs 2,685.52 crore, from Rs 4,413.64 crore yesterday.