At 11.45 a.m., the Sensex traded 133 points or 0.82% higher at 16,350, while the broader Nifty index held on to the 4,950 mark rising 42 points or 0.86%.
Initial gains were on account of a pullback in the rupee, which has seen some strength since Thursday. It traded 11 paise higher at 55.26 against the dollar today. Asian stocks traded higher supporting sentiments. Markets in Japan, Hong Kong and South Korea gained after opinion polls over the weekend indicated that voters in Greece are seemingly backing parties that support the European Union's bailout.
Analysts attribute gains in equities to short covering and said the current move should not be seen as a trend reversal.
"Markets will be stable to positive, but they are likely to top out at 5,100-5,200," Prashasta Seth, senior vice president at IIFL told NDTV Profit today.
The banking index (1.5%) on the BSE was the top performer, even as all other sectoral indices traded higher. SBI (2.8%), ICICI Bank (2.1%) and Axis Bank (2.1%) were among the top Nifty gainers. SBI has seen strong buying interest on the back of record profits in the March quarter. The lender had also surprised the Street with strong asset quality.
40 of the 50 stocks traded higher on the Nifty index. State run power equipment manufacturer BHEL (3.2%) was the top Nifty gainer, followed by Anil Ambani-promoted Reliance Infra (2.8%). Another group firm Reliance Communications (2.3%) gained on the back of strong profits in the March quarter.
Gas utility firm Gail India (-2.8%) was the top Nifty loser. State run oil refiner BPCL (-1.4%), car manufacturer Maruti Suzuki (-1.15%) and FMCG major HUL (-1%) were among the big laggards.
The market breadth was strong, suggesting buying interest in midcap and small cap stocks.
(With inputs from agencies)