Right-wing party's legislative win solidifies the prime minister's influence ahead of the 2024 polls, but he continues to face stiff competition from other political blocs including Congress.
Indian Prime Minister Narendra Modi's party has won a landslide victory in his home state of Gujarat, but lost power in northern Himachal Pradesh state and in the national capital, New Delhi, election results showed.
Thursday's results indicate a boost for his right-wing Bharatiya Janata Party (BJP) ahead of a national vote due in 2024. A win in Himachal Pradesh and in the country's second most populous city would have further emboldened the prime minister to pursue its pro-Hindu agenda in the next two years.
In its best-ever performance in the western state of around 60 million people, the BJP won at least 147 seats in Gujarat's 182-seat legislature, up from 99, and was expected to win another 9 once all votes were counted.
The BJP has not lost state assembly elections in Gujarat, a western industrial state, since 1995.
Modi campaigned hard in Gujarat, the state where he was chief minister for 12 years before ascending to become prime minister in 2014, and which voted on December 1 and 5.
Thanking the people of Gujarat, Modi said on Twitter he was "overcome with a lot of emotion" by the results.
"People blessed politics of development and at the same time expressed a desire that they want this to continue at a greater pace," Modi tweeted.
Modi was state premier in 2002 when around 1,000 people, most of them Muslims, were killed in one of the worst outbreaks of sectarian violence in post-independence India.
The once-mighty Congress party managed just 16 seats, its worst performance ever in the state.
The BJP also saw off a challenge from the Aam Aadmi Party (AAP), which governs the capital New Delhi and Punjab and which was hoping to expand its reach.
It won just five seats.
Decades of BJP rule
The BJP has ruled Gujarat continuously for 27 years, and the party and its allies head governments in 16 of India's 28 states.
Nilanjan Mukhopadhyay, a political analyst, said that the result was all the more remarkable after 135 people died in a bridge collapse in Gujarat in October that was blamed on corruption.
"This kind of result in Gujarat no doubt smoothens BJP's path to 2024 (national elections)."
Meanwhile, the Congress party wrested power from the BJP in Himachal Pradesh state, where it had won 39 out of 68 seats and was leading in another constituency, against the BJP's 19 seats, the Election Commission said.
The BJP also lost a key election on Wednesday for control of the city of New Delhi to the AAP after leading it for 15 straight years, the commission said.
The AAP, which grew out of a nationwide anti-corruption movement in 2012, has been a formidable political force in the Indian capital and has been trying to strengthen its presence across the country.
The next national elections in the country are due in 2024 when Modi, 72, is widely expected to run for a third term.