The 30-share Sensex rose 235.06 points, or 0.70 per cent, to close at a new high of 33,836.74. It had risen 548.64 points in the last three sessions.
The previous closing high was on November 6 when it had finished at 33,731.19.
The broader Nifty gained 74.45 points, or 0.72 per cent, to end at a fresh peak of 10,463.20, breaking its previous record of 10,452.50 hit on November 3.
The rupee soaring to an over three-month high at 63.95 against the dollar during the day fuelled the upward trend.