The BSE Sensex ended at 17,319, up 132 points and the Nifty ended at 5,248, up 39 points.
During the day, the BSE benchmark index had touched the day's high at 17,359 and the day's low at 17,196.
Infosys, TCS and ICICI Bank accounted for a 84-point gain on the Sensex.
On the global front, Asian shares rose on Monday as weaker-than-expected US growth data left open the possibility for more monetary stimulus from the Federal Reserve, but trading was subdued with Japanese and Chinese markets closed.
Hang Seng index gained nearly 2%, while Taiwan and Kospi gained 0.3% each.
Meanwhile, European markets are mixed today. At 1545 hours, the DAX was higher by 0.09%, while the CAC 40 was down 0.88%.
The FTSE 100 was off 0.05%.
Back home, BSE IT index led the gains, having advanced over 2%. BSE Oil & Gas and Realty indices gained 1% each.
BSE Bankex index ended higher by 1% at 11,829 levels. Bank of India, the top gainer from the space, surged 5% to Rs 353 after reporting a robust 93% year-on-year (y-o-y) growth in net profit at Rs 953 crore for the quarter ended March 2012, due to lower staff cost.
Analysts expected a net profit of Rs 684 crore from the state-owned bank during the quarter under review.
Canara Bank has become the latest to slash interest rates on loans, reducing its base rate by 25 basis points to 10.5%.
The new rate comes into effect from Tuesday.
Canara has also slashed its benchmark prime lending rate by 25 bps to 14.75% and cut deposit rates by 10-50 bps, also effective Tuesday.
The scrip ended at Rs 437, up 2%.
BSE Consumer Durables index led the losses, having declined nearly 1%.
On the Sensex, TCS gained 4% at Rs 1,245
Markets begin May series on a flat note
SPECIAL: The curious case of rising prices
Now, transfer money online to your broking account
S&P cuts rating outlook of SBI, ICICI, HDFC Bank
Markets end flat on April F&O expiry