The BSE Sensex rose nearly 1 percent on Thursday to close at its highest in 1-1/2 months after Axis Bank surged on better-than-expected June-quarter results, sparking a rally in other banking stocks as well.
Axis results, which follow those of Infosys earlier this month when it comforted investors by sticking to its dollar revenue guidance, have instilled some hope of improving corporate earnings.
The gains have soothed some investor concerns sparked by the Reserve Bank of India's move on Monday to raise short-term interest rates to shore up the rupee, which sent bond yields surging and raised worries about the potential economic fallout.
Meanwhile, the government announced lifting caps on foreign investment in some sectors, but the measures failed to improve sentiment given concerns about their implementation and expectations they would not immediately yield overseas flows.
Investors now remain on watch for upcoming blue-chip earnings results and more potential measures from policy-makers to stem the slide in the rupee.
"Earnings remain on radar alongside monsoon session to see if reforms announced so far can go through the parliament," said Deven Choksey, managing director at K R Choksey Securities.
0.9 percent, or 179.68 points, to end at 20,128.41, marking its highest close since May 30.
The Nifty rose 1.08 percent, or 64.75 points, to end at 6,038.05, clocking a second consecutive session of gains.
Private-sector lender Axis Bank rose 3.7 percent after posting a higher-than-expected 22.5 percent increase in quarterly net profit, helped by higher interest income, and a marginal increase in bad loans.
The results lifted shares of other banks, with HDFC Bank and Yes Bank rising 3.2 percent each.
Oil and Natural Gas Corp gained 4.6 percent after CLSA upgraded the stock to "buy" from "outperform", citing prospect of a 20 percent upside to share prices.
Consumer goods and pharmaceuticals shares extended gains to record highs, benefiting from their defensive nature in an uncertain market environment and from confidence about their growth prospects.
Hindustan Unilever gained 0.4 percent, after earlier making an all-time high at 719.10 rupees, adding to its 9.9 percent rise on Wednesday.
United Spirits rose 3.4 percent after hitting a record high of 2,810 rupees earlier.
Among pharmaceutical stocks, Sun Pharmaceutical Industries rose 0.5 percent, after making a record high of 1,132.50 rupees, while Dr. Reddy's Laboratories gained 1.2 percent.
Lupin gained 1.8 percent after the company signed a pact with MSD to co-market a vaccine for the Indian market.
Exide Industries rose 4.9 percent after Morgan Stanley and Credit Suisse upgraded their ratings on the auto battery maker citing among other factors a recovery in replacement demand.
However among stocks that fell, Tata Consultancy Services , India's biggest software services provider, fell 1.1 percent ahead its June-quarter results later in the day.