Buoyed by global cues and an expectation of a diesel price hike, the Nifty and the Sensex closed marginally in the green.
The Nifty was up 26 points (0.51 per cent) and closed at 5,243. The Sensex closed at 17,279, up 94 points (0.55 per cent).
Analysts do not expect an upside of more than 2 per cent current levels.
"The bad news for India is that Brent crude is hovering around $105 a barrel amid signs of stability in the US economy and more stimulus measures out of China. Lingering concerns about the Middle-East uprising continues to boost crude oil futures," said Mr Amar Ambani, Head of Research, IIFL.
Maruti was the biggest loser of the day on news of strike in its Manesar plant on wage related issues. The scrip lost in excess of 9 per cent on the NSE. More than 83.45 lakh shares were traded for more than Rs 946 crore. On the BSE, it lost 8.74 per cent with a volume of 9.11 lakh shares and a traded value of Rs 103 crore.
Volatility was down six per cent and the India Vix closed at 16.38.