Indian Prime Minister Narendra Modi’s party has failed to win a key state in elections held amid record Covid-19 deaths and cases.
The BJP targeted West Bengal heavily during campaigning but it was comfortably held by the incumbent, Mamata Banerjee, a fierce Modi critic.
The party held power in Assam but failed to make major gains elsewhere.
Voting was closely watched to see if Mr Modi would be punished by voters for his handling of the Covid crisis.
For 10 straight days, daily cases have topped 300,000. On Sunday, India set a new record for daily deaths, with 3,689 recorded. Hospitals are facing dire shortages of beds and medical oxygen, with many Indians resorting to desperate pleas on social media to secure help.
Campaign rallies and voting have been blamed for the surge in cases.
Mr Modi and his home minister made dozens of speeches in West Bengal and were accused of focusing on the polls rather than the pandemic.
What happened in West Bengal?
With almost all the results counted, the Trinamool Congress party (TMC) of Mamata Banerjee has more than 200 seats in the 294-seat assembly.
The results are set to make Ms Banerjee the leader of West Bengal for a third time. She is also India’s only woman chief minister.
Celebrating the win, she said West Bengal had “saved” India with the result and Covid-19 would be her first priority.
Victory was soured by the loss of her seat in Nandigram to a former aide turned BJP defector. She has said she will challenge the result in court but may have to run again to remain chief minister.
West Bengal, home to 90 million people and the city of Kolkata, is of particular interest to election watchers. It is one of the few states that have never been ruled by Mr Modi’s Hindu nationalist BJP.
Despite the defeat, this vote saw the BJP win nearly 80 seats to become the main opposition party. In the 2016 vote the party had won just three seats in the state.
Congratulating Ms Banerjee in a tweet, Mr Modi noted, “From a negligible presence earlier [in West Bengal], BJP’s presence has significantly increased.”
As well as the north-eastern states of West Bengal and Assam, there has been voting in the southern states of Tamil Nadu and Kerala, the South Indian union territory of Puducherry, and local council elections in some parts of Uttar Pradesh and Telangana.
In Tamil Nadu, the main regional opposition party, the DMK, took power. A left-wing coalition retained power in Kerala, while a BJP-led alliance won no seats.
On top of the coronavirus pandemic, some analysts saw the results as showing the limits of the BJP’s rhetoric in states with sizeable Muslim populations.
What are India’s latest Covid figures?
India has recorded more than 19 million cases of coronavirus – second only to the US. It has also confirmed more than 215,000 deaths, though the real toll is thought to be far higher.
Experts have cited low testing rates and the number of people dying at home, especially in rural areas, as contributing factors to under-reported figures.
The country’s previous highest daily death toll, also reported this week, was 3,645.
Brazil and the US have both registered daily tolls of more than 4,000 during the course of the pandemic.
In India, distressing images of families begging for hospital beds and life-saving supplies have been emerging for more than 10 days, while morgues and crematoriums remain overwhelmed.