The BJP fought off a strong challenge from Rahul Gandhi-led Congress to win the Gujarat assembly polls for the sixth straight time on Monday, and also wrested power from the Congress in Himachal Pradesh with a close to two-thirds majority.
The twin victories tightened BJP's grip over the country's politics that saw Congress lose one more state with general elections only 18 months away.
Still, the euphoria in the BJP camp was tempered by the lower-than-expected margin of victory in Gujarat, it took 99 seats in the 182-member assembly, down from 115 it won in 2012, and far lower than the 150-plus seats it had hoped for.
The Congress won 77, up by 16 seats at the end of counting of votes in the Gujarat polls tonight that was marked by acrimonious exchanges and rhetoric during the high octane Campaign.
Prime Minister Narendra Modi hailed the party's victory in Gujarat, where it has been continuously in power since 1998, as "unprecedented", noting that retaining office was once considered a huge achievement in the country.
Modi also said the win in Gujarat this time was not 'samanya' (normal) but 'asamanya' (special).
He accused the Congress of promoting casteism in the elections, and said there were "many forces at work" besides the opposition party to bring the BJP down.
"In their hunger for power, some people tried to sow the seeds of casteim in the last few months for the elections. The people rejected it," he said.
Gujarat is a prestigious trophy for the BJP given that both Modi and BJP President Amit Shah hail from the state. The two leaders personally led a high-pitched campaign to counter Gandhi, who grew in influence with well chosen homilies, one- liners and clever barbs to target the BJP on issues such as GST, corruption and development.
The elections, especially the Gujarat polls, became a virtual trailer for the next Lok Sabha elections, which should be held before May 2019.
Monday's victories establish not only the BJP's supremacy but also Modi's apparent invincibility. Yet, it also made Gandhi, who recently assumed Congress presidentship, a serious challenger as he appeared more confident in taking on the BJP stalwarts.
Shah pointed out that though the BJP lost 16 seats in Gujarat, its vote share rose by a little over 1 per cent to 49.1 per cent compared to the 2012 Assembly polls.
The Congress, which had 61 in 2012, also improved its vote share, which touched 41.4 per cent, a two per cent increase. The Congress was also helped by young Patidar and Dalit leaders Hardik Patel, Alpesh Thakor and Jignesh Mewani in its campaign against the BJP.
"This is double joy for me," said Modi, a former Gujarat chief minister, in a victory speech at the BJP headquarters in New Delhi.
He said he was happy that his successors continued the development work which he had spearheaded during his stint as chief minister from 2001 to May 2014.
In a tweet, Modi said: "I assure (people of Gujarat and Himachal Pradesh) that we will leave no stone unturned in furthering the development journey of these states and serve the people tirelessly."
Regaining power in Himachal Pradesh, the BJP bagged 44 seats, falling short of a two-thirds majority by two seats in the 68-member house. The BJP, which had won 26 seats in 2012, recorded a 10 per cent jump in vote share that touched 48.7 per cent.
The Congress bagged 20 seats and was leading in one. The ruling party had 36 seats earlier, and its vote share declined by 1 percentage point to 41.8 per cent. The CPI-M and an independent bagged one each. An independent was also leading in one seat.
Amid the victories, there was some disappointment for the BJP, Prem Kumar Dhumal, the party's chief ministerial candidate in the hill state, lost to Congress' Rajinder Rana in Sujanpur, after he changed his traditional constituency of Hamirpur. He was made the CM face only nine days before the polling.
In a tweet, Gandhi said his party "accepts the verdict of the people and congratulates the new governments in both states."
He thanked his party members for fighting "anger with dignity."
The Congress now rules only Karnataka and Punjab among the major states, besides Puducherry, Meghalaya and Mizoram. Karnataka elections are due next year.
"We have set a record in the history of the BJP by winning consecutive assembly polls... Anti-incumbency is not working there. The prime minister's popularity is intact. Amit Shah's strategy has worked," BJP vice president Shyam Jaju said.
As the victories became clear, party workers gathered in the streets and headquarters, distributing sweets and bursting firecrackers.
The BJP's dip this time was touted by the Congress as a reflection of Gandhi's efforts during the campaign, when he appeared to have improved his reputation as a politician.
"The Congress' tally has gone up there, while the BJP's numbers have fallen. This is the start of Rahul Gandhi's political story," senior Congress leader Kamal Nath told reporters outside Parliament.
The BJP said what matters is the victory.
"Jo jeeta wohi Sikandar (whoever wins is the king)," said Union minister Smriti Irani, when asked if the Congress gave her party a tough fight.
Gujarat Chief Minister Vijay Rupani retained his Rajkot West seat, defeating Indranil Rajyaguru of Congress.
The Dec. 9 and 14 elections took place in the backdrop of GST and demonetisation, which the opposition had claimed would inflict a huge dent in Modi's popularity.
Gujarat Deputy Chief Minister Nitin Patel won the Mehsana seat against Congress candidate Jivabhai Patel. Mehsana was the epicentre of the Patidar reservation agitation.
The BJP has won every election in Gujarat since 1995. However, it was out of power for a couple of years in between elections due to party infighting and rebellion by Shankersinh Vaghela. BJP came back to power in 1998, and has ruled uninterrupted since then.
In Himachal Pradesh, Congress veteran and six-time Chief Minister Virbhadra Singh won the Arki constituency.
The state has a tradition of a change in the government every election.