The Sensex rose 35 points to close at an over two-month high of 34,450.77 in choppy trade 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.
Meanwhile, the rupee closed at 66.4750, the currency's lowest level since March 10, 2017.
IndusInd Bank (3.40%), M&M (2.74%) and Sun Pharma (1.74%) were the top gainers on Sensex.
HDFC Bank (1.42%), Coal India (0.98%), Hindustan Unilever (0.97%) were the top Sensex losers. 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.
Market breadth was mildly positive with 1,384 stocks closing higher 1304 ending in the red on BSE.
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.
Global markets
Britain's FTSE 100 was almost unchanged at 7,365.29. Germany's DAX edged 0.1 percent lower to 12,522.34 and the CAC 40 of France declined 0.2 percent to 5,404.24. The future for the S&P 500 lost 0.1 percent and the future for the Dow lost 0.2 percent.
Tokyo's Nikkei 225 fell 0.3 percent to 22,088.04 and South Korea's Kospi shed 0.1 percent to 2,474.11. Hong Kong's Hang Seng declined 0.5 percent to 30,254.40 and the Shanghai Composite index dropped 0.1 percent to 3,068.01. Australia's S&P ASX 200 advanced 0.3 percent to 5,886.00. Shares rose in India but fell in Taiwan and Southeast Asia.
Losses in technology, retailers, packaged foods and beverage makers weighed on U.S. stocks Friday, pulling the market lower for a second day in a row. The S&P 500 index fell 0.9 percent to 2,670.14. The Dow Jones industrial average slid 0.8 percent to 24,462.94. The Nasdaq composite lost 1.3 percent to 7,146.13 and the Russell 2000 index of smaller-company stocks gave up 0.6 percent, to 1,564.12. For every stock that rose on the New York Stock Exchange, two declined, though the indexes finished the week with gains.