The blue-chip NSE Nifty 50 index closed up 1.46% at 17,929.65, while the benchmark S&P BSE Sensex gained 1.40% to end at 60,138.46.

Both the indexes hit multiple all-time highs last month, boosting their yearly gains to more than 30%, helped by a decline in COVID-19 cases, ample liquidity, a re-opening of the economy and expectations of a strong festive season.

However, valuation concerns and heavy selling by foreign investors are now weighing on markets, pulling down the indexes more than 4% from their October highs. In just the last three sessions, the Nifty and the Sensex shed 3.3% each.

"Some relief on the earnings front is triggering (today's) rebound," said Ajit Mishra, vice president of research at Religare Broking.

"Considering the kind of valuation that we are trading at... it's prudent that the market should spend some time around the current levels before making any major directional move," Mishra added.

Out of the 30 Nifty 50 companies that have reported September-quarter results so far, 17 have beaten estimates, Refinitiv Eikon data showed.

The Nifty metal index added 3.06% on Monday, helped by a 8.8% jump in Steel Authority of India after the steelmaker posted a near eleven-fold surge in quarterly profit.

The Nifty realty index climbed 4.03%. Demand for housing and office spaces is gaining traction as the economy opens up further and the festive season starts. This was reflected in quarterly results reported by DLF and Oberoi Realty last week.

Agrochemical maker UPL was the top percentage loser on the Nifty 50, falling 2.7% after missing quarterly profit expectations.

Tata Motors closed up 0.4% ahead of its earnings report.

(Reporting by Anuron Kumar Mitra and Gaurav Dogra in Bengaluru; Editing by Ramakrishnan M, Subhranshu Sahu and Uttaresh. V)

By Anuron Kumar Mitra