The NSE Nifty 50 index ended 0.14% higher at 11,930.95, having briefly crossed the psychologically significant 12,000-level last seen in February. The S&P 500 BSE Sensex ended up 0.21% at 40,593.8, rallying for the eighth straight day of trading.
Shares of IT heavyweight Infosys ended 2.3% higher, ahead of results on Wednesday. The Nifty IT index added 1.7%, piling on last week's gains due to strong results and a big buyback from Tata Consultancy Services Ltd.
Banking stocks slipped as finance minister Nirmala Sitharaman's plans to stimulate consumer demand, including advance payment of a part of the wages of federal government employees during the festival season, fell short of investor expectations.
"If you compare the advance payment of wages for government employees and loans provided to the states and measure it with GDP, it is a minuscule amount," said Saurabh Jain, assistant vice president at SMC Global Securities Ltd in New Delhi.
India's GDP contracted at its steepest pace of 23.9% in the June quarter, raising fears of a recession.
The Nifty Bank index, which rose as much as 1.4% in the morning, ended 0.56% lower.
Meanwhile, a grid failure caused a widespread power outage in Mumbai and surrounding areas during the day, though the National Stock Exchange and the BSE said they were operating normally.
Investors also awaited consumer price inflation data due at 1200 GMT.
(Reporting by Nallur Sethuraman and Philip George in Bengaluru; Editing by Ramakrishnan M.)
By Sethuraman N R