Equity indices resumed their climb on Friday after a day's pause as bank, energy and FMCG stocks saw robust buying amid persistent foreign fund inflows.
Subdued global markets and a flat rupee capped the gains, analysts said.
After touching its all-time intra-day high of 46,309.63, the 30-share BSE Sensex dipped into the negative zone in late-afternoon trade. However, it staged a comeback to end 139.13 points or 0.30 per cent higher at 46,099.01, just shy of its closing record.
On similar lines, the broader NSE Nifty rose 35.55 points or 0.26 per cent to 13,513.85. It hit a lifetime high of 13,579.35 during the session.
ONGC topped the Sensex gainers' chart, rallying 5.68 per cent, followed by NTPC, Tata Steel, ITC, ICICI Bank, Titan, Bajaj Auto and SBI.
World stocks wobbled as prospects of a no-deal Brexit and uncertainty over US stimulus talks sapped risk appetite.
"Market opened well, but in between it lost all the gains and turned negative, fortunately in the last trading minutes, it made a good attempt to bounce back and closed marginally above. Gains made in sectors like energy, FMCG and metals were countered by selling in Pharma and IT stocks.
"This muted momentum was due to a weak global trend. Despite European Central Bank announcing an increase in the stimulus package, European markets fell as it was weighed by increasing chance of a no-deal Brexit, rising virus cases and moderate usages of the announced stimulus plan.
Instability was also seen in the US market with a sudden spike in the volatility index (VIX) and selling in tech stocks," said Vinod Nair, Head of Research at Geojit Financial Services.
BSE utilities, oil and gas, power, metal, FMCG, realty and capital goods indices rose as much as 2.25 per cent, while healthcare, teck, IT, auto and telecom closed lower.
In the broader markets, the BSE midcap and smallcap indices rose up to 0.51 per cent.
Elsewhere in Asia, bourses in Shanghai and Tokyo were in the red, while Hong Kong and Seoul ended in the positive territory.
Stock exchanges in Europe were trading on a negative note in early deals.
Meanwhile, the global oil benchmark Brent crude futures slipped 0.56 per cent to USD 49.97 per barrel.
The rupee traded in a narrow range and settled for the day 2 paise higher at 73.64 against the US dollar.
Foreign institutional investors remained net buyers in the capital markets, purchasing shares worth Rs 2,259.98 crore on Thursday, according to exchange data.
To read the full story, Subscribe Now at just Rs 249 a month