The Sensex opened five points lower at 6,665, and exhibited mixed trends for a while in early trades.
After moving with a loss of 40-50 points in the first half, widespread selling pressure in early noon trades dragged the index below the 6,600-mark to a low of 6,596.
The markets witnessed a sharp turnaround in late noon trades as fresh buying in select heavyweights, banking, tech and other select old economy stocks lifted the index above the 6,700-mark to an intra-day high of 6,711 - up 115 points from the day's low.
The Sensex, after displaying volatility during the trades, wrapped up the session with a gain of 31 points to 6,700.
The Nifty, too, recovered from its lows on late buying and ended 11 points higher at 2,109.
While 18 Sensex stocks advanced, 12 declined on Friday. Advancing shares registered a volume of 1.37 crore for Rs 722.20 crore, and declining shares accounted for a volume of 19 lakh amounting to Rs 124.16 crore.
Reliance flared up 1.73% (Rs 10) to Rs 572. While ITC plunged 1.68% (Rs 22) to Rs 1,311, HLL was down a tad at Rs 133.
ICICI Bank gained sharply in late noon trades, and moved up 2.93% (Rs 12) to Rs 413. While SBI was up Rs 2 at Rs 728, HDFC Bank dipped 1.14% (Rs 7) to Rs 566.
Infosys, after a mixed outing, was up a per cent (Rs 20) at Rs 2,200. While Wipro, too, ended with a per cent gain (Rs 7) at Rs 686, Satyam was up a rupee at Rs 401.
Bharti soared 4.48% (Rs 9) to Rs 208.
Maruti advanced 2.70% (Rs 12) to Rs 448. Tata Motors moved up 1.77% (Rs 8) to Rs 461. Bajaj and Hero Honda pared losses to end at Rs 1,092 (down Rs 5) and Rs 539 (down Rs 2), respectively.
Ranbaxy surged 2.55% (Rs 27) to Rs 1,072. While Dr. Reddy's tumbled nearly 4% (Rs 29) to Rs 718, Cipla lost 2% (Rs 6) to Rs 276.
Gujarat Ambuja clocked a per cent gain (Rs 3) to Rs 423. While ACC was up a rupee at Rs 360, Grasim slipped a per cent (Rs 14) to Rs 1,292.
HDFC shed 2.71% (Rs 21) to Rs 760, and Hindalco dropped 1.60% (Rs 23) to Rs 1,390. L&T lost 1.38% (Rs 14) to Rs 1,036. BHEL and Tisco, however, were up a per cent each at Rs 790 (up Rs 7) and Rs 434 (up Rs 3), respectively.