The NSE Nifty 50 index settled 1.67% higher at 14,923.15, snapping a three-session losing streak, while the benchmark S&P BSE Sensex ended up 1.74% at 49,580.73.

Last week, both indexes lost 0.9% after worries over higher U.S. inflation triggered a sell-off in global markets.

"The decline in the speed of new cases is helping domestic markets," said Narendra Solanki, head of equity research (fundamental) at Anand Rathi Investment Services.

"At this rate, lockdowns might not continue for too long and investor sentiment is upbeat."

However, Moody's Investors Service warned on Monday that the second severe wave of coronavirus infections would delay earnings recovery for Indian companies. Last week, the ratings agency had warned that the second wave would slow near-term economic recovery.

India reported 281,386 new coronavirus infections over the last 24 hours, helped by extended lockdowns in some states.

On Monday, financial stocks were the top boost to the Nifty. Nifty's Bank index closed 4.01% higher, while the PSU Bank index and financials index each settled over 3% higher.

Shares of Federal Bank ended up 2.39% after it logged a rise in March-quarter profit.

The Nifty Auto index added 1.9%, led by a 10.43% rise in Balkrishna Industries after the tyre maker posted a rise in quarterly profit on Friday.

Bucking the trend, Pharma stocks gave up early gains to settle 0.19% lower and were among the only two sub-sectors to close in the red.

Shares of Bharti Airtel closed 1.92% lower ahead of its March-quarter results.

(Reporting by Chandini Monnappa in Bengaluru; Editing by Vinay Dwivedi)

By Chandini Monnappa