The Sensex closed 199 points or 1.2 per cent higher at 16,839 while the Nifty index advanced 57 points to 5,099.85. The rupee traded higher at 55.45 to the dollar at 03.40 p.m.
Shares in Punjab National Bank plunged 5.5 per cent to end at the bottom of the Nifty index. The state-run lender has reported higher provisioning for bad loans, even as non-performing assets rose over last year.
Shares in Union Bank, another PSU lender, closed 8 per cent lower after the bank reported sharp deterioration in asset quality. Bank of India declined over 5 per cent.
PSU banking stocks were the top Nifty losers. SBI dropped 3.8 per cent, while Bank of Baroda declined 2.4 per cent.
In contrast, private lender ICICI Bank gained 2.4 per cent after it not only beat consensus estimates but also reported lower restructured assets in the June quarter. HDFC Bank closed with 3.3 per cent gains. It pipped SBI to emerge as India's most valued bank in terms of market capitalization.
"There is a clear divergence between the results of PSU and private sector banks and one wonders if they are operating in the same environment," Kunj Bansal, CIO at Sanlam India told NDTV.
Metal stocks outperformed the broader markets. Commodity stocks gain when global markets look up. Tata Steel gained nearly 4 per cent and was the top Nifty gainer. Sterlite Industries, aluminium maker Hindalco, and iron ore miner Sesa Goa also advanced 2.5-4 per cent.
On the Nifty, 37 of the 50 stocks closed higher. However, the market breadth turned negative by close with 64 per cent stocks declining on the broader BSE 500 index.
Today's gains are unlikely to sustain, analysts said.
"It will be a one-day wonder because we have policy issues back home. This window could be used by people to sell at higher levels. Markets are unlikely to move above 5,200 without policy moves from Delhi," Ambareesh Baliga, chief operating officer at Way2Wealth said.
(With inputs from AP)