Benchmark BSE Sensex and Nifty snapped their two-day losing streak to close nearly half a per cent higher on Tuesday following gains in banking, metal and auto stocks.
The 30-share BSE Sensex climbed 257.43 points or 0.44 per cent to settle at 59,031.30.
During the day, it hit a high of 59,199.11 and a low of 58,172.48.
The broader NSE Nifty advanced 86.80 points or 0.50 per cent to 17,577.50.
From the Sensex pack, Mahindra & Mahindra, Bajaj Finserv, Titan, Tata Steel, State Bank of India, Kotak Mahindra Bank, Sun Pharma and IndusInd Bank advanced.
On the other hand, Tata Consultancy Services, Infosys, HCL Technologies, Hindustan Unilever, Tech Mahindra, Wipro and HDFC Bank were the major laggards.
In Asia, markets in Seoul, Tokyo, Shanghai and Hong Kong ended lower.
"Fear of uncertainty is visible in the market as they move with high volatility, led by weak signals from global peers, while a stronger domestic economy is providing some comfort.
"Global markets were under pressure with a spike in European energy prices and rate hike fears ahead of the Jackson Hole gathering," said Vinod Nair, head of research at Geojit Financial Services.
On the domestic front, gains in banks, autos and metals were countered by selling in IT stocks as majors are scaling down variable pay due to margin pressure, Nair added.
Meanwhile, the international oil benchmark Brent crude was trading 1.43 per cent higher at $97.85 per barrel.
Foreign Institutional Investors (FIIs) offloaded shares worth Rs 453.77 crore on Monday, according to exchange data.