The BSE Sensex closed 97.39 points up at 34,474.38, while the Nifty 50 settled 31.60 points higher at 10,348.05 on Monday in a volatile session helped by Reliance Industries and banking stocks.
The rupee weakened past the 74 against a dollar mark after the Reserve Bank of India on Friday kept interest rates unchanged.
Oil prices dropped to around $83 a barrel, pressured by expectations that some Iranian oil exports will keep flowing after the US reimposes sanctions.