BSE Sensex and Nifty gained some momentum in late trade after struggling for most of the session. A recovery in banking stocks and higher European markets helped Indian markets pull higher.
However, selling pressure at higher levels capped gains. FIIs sold cash shares worth Rs 298 crore (net) on Friday, taking their selling streak to a fourth consecutive session.
Among banking stocks, Bank of Baroda, IndusInd Bank, SBI and ICICI Bank were up 1-2 per cent.
Retail inflation data for December is due later in the day. Analysts polled by Reuters expect December to accelerate to 5.4 per cent in December, after a record low of 4.4 per cent in the previous month. But they are optimistic that there still remains a good chance that the Reserve Bank of India will cut interest rates, possibly after the government presents its annual budget in late February.
Infosys, which beat December-quarter earnings estimates on Friday, rose 1.7 per cent, following the sharp 5 per cent jump on Friday.
"Infosys is inching close to TCS as far as margins are concerned... It looks a good bet," said TS Harihar of HRBV Client Solutions.
FMCG major HUL rose over 3 per cent to be the biggest Nifty gainer. Prakash Diwan, director at Altamount Capital Management, said that rumours of an open offer from its parent Unilever is driving the HUL stock.
Selling pressure in metal and oil & stocks weighed on the markets. Coal India was the top Nifty loser, down 4.6 per cent on speculation that the government will soon come out with a date for 10 per cent stake sale in the PSU major.
"There are few takers for Coal India in the current environment," said Prakash Diwan, director at Altamount Capital Management.
Among other major losers, JSPL, RIL and Hindalco fell 1.5 per cent and 2 per cent.
As of 3:03 pm, the Sensex was up 92 points at 27,551 while Nifty rose 29 points to 8,313.