The 50-share index fluctuated between a high of 5,917.65 and a low of 5,864.10 before settling at 5,882.25, showing a marginal gain of 8.40 points, or 0.32 per cent.
FMCG stocks gained followed by metal, healthcare and capital goods scrips. Energy, technology, realty and auto counters declined.
Financial stocks witnessed a rebound after four- session plunge following the Reserve Bank's assurances that measures would be taken to provide adequate liquidity in the banking system.
After a weak start, the NSE barometer regained some momentum to trade in positive zone and fluctuated between small gains and losses with a marginal positive bias. It briefly retraced the key 5,900 level in mid-afternoon.
Volatility dominated the market sentiment with focus on the expiry of monthly futures and options contracts.
Elsewhere in Asia, most markets finished higher ahead of next week's US budget vote and subdued investor sentiment after the Dow and S&P closed in the red for the fifth day.
State-run power plant equipment maker BHEL was the top Nifty gainer for the second straight day, surging over 7 per cent. Tata Steel, Coal India, JP Associates, Sun Pharma, BPCL, NMDC, Ranbaxy, Dr Reddy's and HDFC were among gainers.
Key losers included Jindal Steel, Ambuja Cement, PNB, GAIL, Reliance Infra, Grasim, Hero Moto, Power Grid, Sesa Goa and Reliance.
Turnover in the cash segment to surged to Rs 12,394.57 crore from 11,107.72 crore yesterday. A total of 6,686.70 lakh shares changed hands in 55,32,125 trades. The market capitalisation stood at Rs 62,95,777 crore.