The BSE benchmark Sensex rose over 100 points to 35,257.88 and the NSE Nifty regained 10,600-mark Thursday backed by gains in auto, pharma, energy and financial stocks amid fresh foreign fund inflows and easing global crude prices.
The appreciating rupee and mixed leads from other Asian markets too influenced sentiment.
The 30-share Sensex rose 115.89 points, or 0.33 per cent, to 35,257.88. It had shed 2.50 points on Wednesday in choppy trade.
ALSO READ | Republic Day 2019: After Trump snub, South African President Cyril Ramaphosa to be chief guest
The NSE Nifty was trading higher by 30.25 points, or 0.29 per cent, at 10,606.55.
Sentiment turned positive after foreign investors pumped fresh funds into the market and global crude prices eased further, traders said.
Foreign institutional investors (FIIs) bought shares worth a net of Rs 277.38 crore, while domestic institutional investors (DIIs) sold shares to the tune of Rs 272.34 crore Wednesday, provisional data showed.
Brent crude, the international benchmark fell 0.47 per cent to USD 65.81 per barrel.
The rupee strengthened further by 24 paise to trade at 72.07 against the dollar in the forex market.
Major gainers were Hero MotoCorp, Tata Motors, Infosys, L&T, NTPC, Kotak Bank, HDFC Bank, Axis Bank, TCS, Adani Ports, RIL and PowerGrid, rising up to 1.61 per cent.
While Yes Bank, ONGC, M&M and Tata Steel were the top losers, falling up to 6 per cent.
Sectorally, the BSE IT, teck, consumer durables, capital goods, healthcare, realty and auto indices were trading higher up to 0.73 per cent.
Elsewhere in Asia, Shanghai Composite Index was up 0.58 per cent, while Hong Kong's Hang Seng gained 0.11 per cent. Japan's Nikkei, however, was down 0.25 per cent in the late morning session.
ALSO READ | Delhi Pollution: Air quality remains in poor category, light rains likely today
The US Dow Jones Industrial Average had lost 0.81 per cent Wednesday amid ongoing concerns over trade, politics and economic growth.