The NSE Nifty 50 index and the benchmark S&P BSE Sensex ended about 0.2% higher at 12,719.95 and 43,443, respectively. The indexes, which posted weekly gains of over 3% each, had fallen as much as 0.6% during the session.
The Nifty banking index closed 0.66% higher during the session and rose for four of five days this week, advancing 19% so far this month.
"Some of the private-sector banks are doing very well in terms of capital adequacy ratios and risk management compared to the industry average and they have seen large gains in the current rally," said Saurabh Jain, assistant vice president at SMC Global Securities Ltd.
Gains among banking stocks have helped the main Nifty index rise over 19% so far this month.
India's top lender State Bank of India firmed 1.5%, while its private-sector peers Axis Bank and ICICI Bank advanced about 1.8% each.
The Nifty realty rose about 1.3% after the government announced a new set of stimulus measures, including additional funding for real estate developers and contractors.
Oil-to-telecoms conglomerate and India's most valuable company Reliance Industries gained about 1% after recovering from a 5% drop in the last two sessions.
Automaker Eicher Motors firmed 7.4% and was the top gainer among Nifty stocks after the company reported a better-than-expected profit in the July-September quarter on Thursday.
Rival automaker Tata Motors was the session's top loser and fell about 3.3%.
Meanwhile, MSCI's all-country equity index slipped 0.1% as rising coronavirus infections in the United States and Europe offset optimism from a potential vaccine.
(Reporting by Derek Francis in Bengaluru; Editing by Krishna Chandra Eluri)
By Derek Francis