The S&P BSE Sensex and NSE Nifty 50 Indexes ended Friday's highly volatile session higher led by gains in HDFC, Bharti Airtel, Tata Consultancy Services, Infosys, Asian Paints and Maruti Suzuki. However, the gains were kept under check as Tata Steel, State Bank of India, ICICI Bank and ITC ended on a weak note. The Sensex fell as much as 411 points and Nifty dropped below 10,850 mirroring losses in other global markets after the US President Donald Trump said he would slap a 10 per cent tariff on the remaining $300 billion of Chinese imports starting September 1.

However, the benchmarks staged a smart recovery in afternoon deals led by mortgage lender HDFC after its net profit rose 46.26 per cent to Rs 3,203.10 crore in June quarter. The Sensex recovered as much as 768 points from day's lowest level and the Nifty 50 Index briefly hit a high of 11,080 before closing with modest gains.

The Sensex ended 100 points or 0.27 per cent higher at 37,118 and the NSE Nifty 50 Index advanced 0.16 per cent or 17 points to close at 10,997.

Bharti Airtel was top gainer in the Nifty 50 basket of shares, the stock rose 7 per cent to close at Rs 347 despite reporting net loss of Rs 2,866 crore in June quarter.

Asian Paints, Eicher Motors, Bajaj Auto, Maruti Suzuki, HDFC and UltraTech Cement were also among the gainers.

On the flipside, Indiabulls Housing Finance was top Nifty loser the stock dropped 9 per cent to close at Rs 477. State Bank of India dropped 3 per cent after it reported net profit of Rs 2,312.20 crore which was lower than analyst estimate of Rs 4,083 crore, news agency Reuters reported citing Refinitiv data.

Tata Steel, Coal India, Wipro, Vedanta, ONGC, NTPC and Zee Entertainment were also among the losers.

Seven of 11 sector gauges compiled by National Stock Exchange ended higher led by the Nifty Auto Index's 1.13 per cent gain. On the other hand, Nifty Metal Index was top loser, sown 1.9 per cent. Nifty PSU Bank, Media, Realty and Bank sector gauges also dropped between 0.6 and 1.4 per cent each.

The overall market breadth was negative as 1,363 shares closed lower while 1,095 ended higher on the BSE.