The index touched a high of 17,015 - up 389 points from the day's low. The Sensex finally ended (provisional) with a gain of 228 points at 16,981.
The market breadth was marginally positive - out of 2,742 stocks traded, 1,385 advanced, 1,285 declined and 72 were unchanged.
The NSE Nifty settled (provisional) with a gain of 52 points at 5,010.