Infosys, HDFC Bank and ICICI Bank contributed the most to the advances on Sensex.

Domestic stock markets rose on Thursday to recover some of the recent losses shrugging off early weakness. The S&P BSE Sensex rose 278.60 points - or 0.75 per cent - to end at 37,393.48, and the NSE Nifty finished at 11,257.10, up 100.10 points from the previous close. Strong buying interest in financial, information technology and metal stocks pushed the indexes higher in late afternoon trade. The benchmark indexes had swung between gains and losses earlier in the session as losses in pharma and capital goods stocks offset advances in IT, energy and utilities.

Thirty nine stocks on the 50-scrip index finished higher. Top gainers on the index were Zee Entertainment, Bharat Petroleum, Bajaj Finance, Indian Oil and UltraTech Cement, finishing between 3.86 per cent and 9.11 per cent higher.

Infosys, HDFC Bank and ICICI Bank contributed the most to the advances on Sensex.

The Nifty Pharma settled 0.21 per cent lower for the day after dropping as much as 3.52 per cent during the session. Lupin shares hit a nearly seven-week low during the session, a day after its March-quarter profit missed Street estimates, weighing on the sectoral index.

Shares of InterGlobe Aviation - the operator of airline IndiGo finished 8.82 per cent lower, on reports of promoters falling out over differences in, among other things, strategies and ambitions for the carrier.

(With inputs from Reuters)