Indian shares rose over 2% on Tuesday, driven by a surge in banking and financial stocks on the back of a rally in Bajaj Finance and Bajaj Finserv.
The NSE Nifty 50 index ended up 2.6% at 17,759.30, while the S&P BSE Sensex gained 2.7% at 59,537.07.
The indexes ended higher for a second straight month, gaining over 3%. The Nifty 50 index also ended at its highest ever monthly close on charts.
"Indian macros are improving a lot. Despite the heavy selling witnessed on Monday, foreign investor selling was negligible, which was one important trigger," said Vikram Kasat, Head Advisory, Prabhudas Lilladher Pvt Ltd.
Sentiment got a further boost from dollar not moving above the 20-year high against major peers, and oil prices coming off highs, Kasat said.
The Nifty bank index rose 3.3%, while the finance index gained 3.4%.
Shares of Bajaj Finance and Bajaj Finserv surged over 5% each, after Bajaj Finserv set Sep. 14 as the record date for sub-division and issue of bonus shares.
"Globally, all countries are facing the churn and India seems to be the best placed jurisdiction in terms of growth and inflation outlook in FY23," Soumya Kanti Ghosh, group chief economic adviser, State Bank of India said in a report.
"We believe the China story may now be facing clear headwinds and India is likely to benefit from such stark realities over the longer term."
In the benchmark Nifty 50 index, all 50 stocks traded in the positive territory.
Shipping Corp of India rose 5% after a report said Indian government will likely fast-track disinvestment.
India's equity and money markets will be closed for a holiday on Wednesday.