The Bombay Stock Exchange benchmark Sensex on Monday rose 31 points to close at a 33-month high, on the back of sustained buying by funds and retail investors.
The 30-share index closed 30.69 points higher, at 20,475.73 points, matching the level seen in January 2008. The barometer had touched an intra-day high of 20,706.74 points, but profit-selling in the last 30-minute pared some of the gains.
The broad-based National Stock Exchange index Nifty crossed the 6,200-level for the first time in 33 months, before ending 16.05 points higher at 6,159.45 points.
A lower opening in the European markets this afternoon triggered profit-selling and reduced the gains, brokers said.
ICICI Bank, the country's largest private lender, rose 2 per cent to Rs 1,157.75.
The market also got a boost from Reliance Industries, the heaviest in the Sensex, which rose over one per cent, or Rs 18.60, to Rs 1,017.90.
Tata Motors, the country's biggest truck maker and owner of Jaguar Land Rover, advanced 1.85 per cent, or Rs 16.50, to Rs 1,139.60, its highest level since pledging to cut debt.
The healthcare sector index gained the most by rising 1.69 per cent to 6,210.92, followed by consumer durable sector index - rising 1.47 per cent to 6,529.42. Banking index also rose 0.79 per cent to 14,365.29.
The auto sector index rose 0.63 per cent to 9,818.75.
In the 30-BSE index components, 14 stocks gained, while the others, led by software exporters, ended in the negative zone.