After opening with a positive gap of 61 points, the index touched a low of 13,627, and then began to move up. Metal, energy and banking stocks witnessed fresh buying which led the index to a high of 13,841 - up 270 points from the previous close.
The index retreated from higher levels in late noon deals and dipped to a low of 13,593 - down 248 points from the day's high. The Sensex finally ended with a gain of 158 points at 13,729 (provisional).
The market breadth was positive - out of 2,677 stocks traded, 1,366 advanced, 1,220 declined and 91 were unchanged today.
The NSE Nifty gained 45 points at 4,172 (provisional).