BENGALURU - Indian shares ended at their lowest level in more than a week on Tuesday, dragged by heavyweight financials, energy and IT stocks, as domestic coronavirus cases crossed the grim milestone of 20 million.

The NSE Nifty 50 index dropped 0.94% to 14,496.5, while the benchmark S&P BSE Sensex closed 0.95% lower at 48,253.51, after swinging in choppy trading for most of the session.

The surge of the highly infectious Indian virus variant has swamped the health system, forced states to enter lockdowns and ignited calls for a lockdown at the national level.

India recorded 357,229 new infections over the last 24 hours, taking the total tally to 20.28 million. Officials on Tuesday halted the country's most popular sports tournament, the money-spinning Indian Premier League.

Economists from several institutions have warned of the impact of the ongoing second wave of infections.

"The shock of the first quarter is likely to carry on through the rest of the year and the impact on the GDP could be around one to three percentage points," Shaun Roche, chief economist, Asia Pacific at S&P Global, told reporters, according to news agency NewsRise.

Conglomerate Reliance Industries Ltd and top lender HDFC Bank Ltd were the biggest drags on the benchmark indexes, falling 2.2% and 1.9%, respectively.

IT major Infosys Ltd slid 1.7%.

Metal shares, which touched record highs earlier in the session on strong prices, ended 0.6% lower.

The Nifty Pharma index was the worst performer, dropping 2%, with drugmaker Cipla Ltd shedding 3.5%.

Stocks of state-run banks were among the best performers in the market, with the Nifty PSU Banking index jumping 3.4%.

Nifty 50 component Adani Ports and Special Economic Zone closed 1% higher ahead of its quarterly results.

(Reporting by Chris Thomas in Bengaluru; Editing by Subhranshu Sahu and Ramakrishnan M.) ((chris.thomas@thomsonreuters.com; +91-80-6749-8695;))