Sensex, which had shed over 61 points in early trade, recovered by 95.64 points, or 0.54 per cent, to 17,729.09 at 1230 hrs.
Likewise, the wide-based National Stock Exchange index Nifty rose by 29.85 points, or 0.39 per cent, to 5,377.75, after touching a low of 5,328.80 in early trade.
Brokers said emergence of buying by funds, particularly in banking counters, after inflation declined to 6.87 per cent in July from 7.25 per cent in June, raising hopes of a cut in interest rates by the Reserve Bank of India.
Besides, a firming trend in the Asian region further supported the market to recover from early losses.
Among banking stocks, state-run State Bank of India was trading 0.89 per cent higher at Rs 1,922.75, while ICICI Bank gained 1.93 per cent to Rs 967.90.