The benchmark S&P BSE Sensex surged 300 points in morning trade on Monday, triggered by firm global cues after an accord was reached to limit Iran's nuclear programme.
The 30-share index opened higher at 20,326.66 and firmed up further to 20,533.28 before quoting 20,516.50 points at 1030 hours. It gained 299.39 points, or 1.48%, from the previous close.
There was buying in banking, capital goods, realty, FMCG, metal and PSU sector stocks.
The 50-share CNX Nifty moved up 91.20 points, or 1.52%, to 6,086.65 at 1030 hours.
The major gainers were ICICI Bank (3.52%), Larsen & Toubro (2.8%), Sesa Sterlite (2.32%), HDFC Bank (2.30%), Hero MotoCorp (2.23%), Tata Motors (2.09%) and ITC (2.01%).
Asian stocks rose in early trade. Key indices in Taiwan, Hong Kong, Indonesia, Japan, Singapore and South Korea rose by 0.17% to 1.31%. China's Shanghai Composite rose 0.32%.
Iran reached a deal with world powers in Geneva on Sunday to slow it's controversial nuclear programme in return for about $7 billion in sanctions relief.
READ: Rupee advances 37 paise to 62.50 against dollar