The BSE Sensex rose 35 points to close at an over two-month high of 34,450.77 in choppy trade today on steady buying in realty, healthcare, consumer durables and IT sectors.
Encouraging earnings from some blue-chip companies also supported the upmove, brokers said.
Trading was volatile due to negative Asian cues, lower opening in Europe and a weak rupee, they added.
Tata Consultancy Services (TCS) touched the USD 100 billion market capitalisation mark intra-day, but ended the session a tad lower.
The 30-share Sensex resumed higher at 34,493.69 but quickly slipped to 34,259.27 on profit booking and weak Asian cues.
It bounced back to touch a high of 34,663.95 as TCS saw heavy buying, before finally ending at 34,450.77, showing a gain of 35.19 points, or 0.10 per cent.
This is its highest closing since February 5 when it had ended at 34,757.16.
The broader NSE Nifty touched a high of 10,638.35 before settling at 10,584.70 — up 20.65 points, or 0.20 per cent. Intra-day, it hit a low of 10,514.95.
On a net basis, domestic institutional investors (DIIs) bought shares worth Rs 111.01 crore, while foreign portfolio investors (FPIs) sold to the tune of Rs 21.02 crore on Friday, provisional data showed.