The benchmark BSE Sensex rose by 78 points to end at over two-week high of 31,924.41, marking its third straight day of gains as pharma, oil and gas and banking stocks advanced.
The broader NSE Nifty closed above the 10,000-mark for the first time since September 21, gaining 28.20 points, or 0.28 per cent to 10,016.95 after shuttling between 10,034 and 10,002.30.
Sustained buying by domestic financial institutions and widening of exposure by retail investors ahead of the second quarter earnings season amid a firming trend in the Asian region helped markets extend gains for a third day, brokers said.
Stocks of IT, power, healthcare, capital goods, oil & gas, banking and auto were the major drivers.
The Sensex resumed higher at 31,910.82 and hovered in a range of 31,994.77 and 31,896.90 before ending at 31,924.41, showing a gain of 77.52 points or 0.24 per cent. This is its highest closing since September 21, when it had closed at 32,370.04.
The gauge had gained 254.86 points in the previous two days.