The 30-share BSE Sensex closed higher for the third consecutive session, after swinging between gains and losses during the day. At close, the Sensex was up 59.28 points or 0.19 per cent at 31,648.
While, the NSE barometer Nifty was down 4.90 points or 0.05 per cent at 9,261.85.
Index heavyweights HDFC twins and Reliance Industries mainly saved the day. IT stocks also closed with gains.
HDFC Bank was the top gainer in the Sensex pack, rallying nearly 4 per cent, after the lender posted a 15.4 per cent rise in consolidated net profit at Rs 7,280.22 crore for the March quarter on healthy interest income.
Infosys jumped over 3 per cent ahead of its quarterly earnings, scheduled to be announced later in the day.
On the other hand, Axis Bank was the top laggard, followed by ITC, ICICI Bank, IndusInd Bank and Maruti Suzuki.
Sectorally, BSE IT, energy, teck, oil and gas, power and realty indices ended up to 2.67 per cent higher, while metal, telecom, FMCG and auto indices fell up to 3.4 per cent.
Broader BSE midcap closed 0.21 per cent lower, while smallcap index finished 0.80 per cent higher.
Elsewhere in Asia, Hong Kong, Tokyo and Seoul ended in the red, while Shanghai closed on a positive note.
Stock exchanges in Europe were also trading on a mixed note.
Brent crude futures, the global oil benchmark, fell 3.53 per cent to USD 27.09 per barrel.
Meanwhile, the rupee declined by 14 paise to 76.53 against the US dollar amid strengthening of the American currency overseas and a sharp rise in coronavirus cases in the country.
The death toll due to Covid-19 rose to 543, while the number of cases in the country climbed to 17,265.
Global tally of the infections has crossed 24 lakh, with over 1.65 lakh deaths.