The Sensex, which had lost over 81 points at the outset, bounced back to trade higher by 120.51 points, or 0.71 per cent to 17,017.14 at 1500 hrs after remaining in the red for most of the trading day.
Similarly, the broad-based National Stock Exchange index Nifty fell to 5,093.45 before recovering by 41.90 points, or 0.71 per cent to 5,162.45 at the same time.
The buying by funds forced speculators to cover their pending long positions created in the early trading and investors buying bluechips available at attractive levels.
The upsurge was led by stocks of realty, capital goods and banking sectors.