Indian Prime Minister Narendra Modi and his right-wing BJP party appear to be facing a political setback, with major swings against it in three key state elections.
The opposition Congress Party looks set to form governments in Chhattisgarh and Rajasthan, while Madhya Pradesh heads for a photo-finish.
Correspondents say a win for the depleted Congress in at least two states will see it regain credibility.
General elections are due in 2019.
Early results in the central state of Madhya Pradesh put the Congress well ahead, but the BJP has been making a late comeback. It is still unclear which of the parties will eventually form the government there.
However the opposition, headed by Rahul Gandhi, has a clear lead in Rajasthan and Chhattisgarh, which are former BJP strongholds.
Mr Modi, whose brand of Hindu nationalism helped him come to power in 2014, campaigned aggressively in all three states.
India's ruling Hindu nationalist BJP is set to lose power in two key states, and is locked in a cliffhanger in a third. So is Congress, India's Grand Old Party, finally back in the reckoning?
The Congress looks set for victory in the states of Rajasthan and Chhattisgarh and is leading in Madhya Pradesh. The central states of Chhattisgarh and Madhya Pradesh are widely regarded as BJP strongholds. To put this in context, India's main opposition party has been consistently losing state elections since it was routed in the seismic 2014 elections, winning less than 20% of the popular vote and securing 44 of the 543 seats. It is in power in only two large states.
The BJP had won 62 of the 65 seats in these three key states in the last parliamentary elections. Rajasthan, Madhya Pradesh and Chhattisgarh are also part of a bellwether region - the Hindi-speaking heartland of India - which gave the BJP and its allies 203 of the 225 seats that they won in 2014.