Fresh buying in banking and realty stocks helped the index to touch a day's high of 15,733 - up 375 from day's low.
The index finally ended (provisional) with a gain of 334 points at 15,730.
The market breadth was positive - out of 2,763 stocks traded, 1,792 advanced, 886 declined and 85 were unchanged today.
The NSE Nifty ended (provisional) with a gain of 80 points at 4,653.