The BSE Sensex is up 0.32 percent after earlier rising as much as 0.65 percent to an all-time high of 22,592.10, while the Nifty gains 0.3 percent after earlier gaining 0.63 percent to a record high of 6,763.50.
Overseas investors bought Indian shares worth 3.85 billion rupees on Tuesday, provisional exchange data show, after buying $3.3 billion worth of stocks in March.
The benchmark BSE Sensex gained over 130 points to hit a fresh high of 22,576.50 in early trade on continued capital inflows by funds and retailers, tracking firm global cues.
All the sectoral indices, led by consumer durables, capital goods, auto and banking were trading in the positive zone with gains up to 0.98 per cent.
Brokers said trading sentiments remained positive as foreign investors indulged in pumping more funds into Indian equities amid a firming trend in the Asian region, following overnight gains in the US markets on positive manufacturing data.
Besides, RBI keeping key rates unchanged also influenced the trading sentiments, they said.
Among other Asian markets, Hong Kong's Hang Seng rose by 0.15 per cent while Japan's Nikkei gained 1.48 per cent in early trade today.
The US Dow Jones Industrial Average ended 0.46 per cent higher in yesterday's trade.