However, correction in Reliance Industries and healthcare stocks capped the gains.
Overseas, European stocks reversed losses as investors monitored earnings reports. Asian stocks ended mixed ahead of the US employment report.
The 50-share Nifty opened lower at 10,008.60 and moved in a range to 9,998.35 before finishing at 10,066.40, up 52.75 points or 0.53 per cent from its last close.
It saw an intra-day movement of about 86.90 points.
Sector-wise, Metal rose 2.50 per cent, followed by PSU Bank (1.38 per cent), Energy (0.94 per cent), Auto (0.71 per cent), IT (0.71 per cent), Bank (0.62 per cent), Finance Service (0.51 per cent), Private Bank (0.48 per cent) and Realty (0.23 per cent).
More From This Section
Major index gainers were IOC, BPCL, Vedanta, Coal India, Hero MotoCo, Tata Steel, Eicher Motors, GAIL and NTPC.
Index losers included Dr Reddy's, Tata Power, Aurobindo Pharma, Sun Pharma, Reliance and Bharti Airtel.
The Nifty midcap and smallcap indices rose 0.26 per cent and 0.08 per cent, respectively.
A total of 850 scrips declined, 831 advanced while 68 remained unchanged.
Total securities that hit their price bands were 114.
Turnover in the cash segment eased to Rs 27,522.07 crore from Rs 27,705.36 crore yesterday.
A total of 13,235.54 lakh shares changed hands in 8,562,438 trades. The market capitalisation of listed firms on the NSE stood at Rs 1,31,24,778.25 crore.