The ruling Bharatiya Janata Party has taken a hit in by-elections for the Lower House of India’s Parliament. A win in Kairana in Uttar Pradesh, the country’s largest state, was crucial for the BJP, which holds power both in the state and the national administration. Prime Minister Narendra Modi even inaugurated a highway that was not even one-third finished just a day before the polls on Sunday.

But it all came to a nought, as the results began to show that the combined opposition candidate had a clear, unassailable lead. This is a big loss for the BJP. In March, BJP lost the seats of Gorakhpur and Phulpur in by-elections when elected Members of Parliament (MP) moved to the state assembly. These seats were held by the state’s Chief Minister Yogi Adityanath and Deputy Chief Minister Keshav Prasad Maurya. Now the loss in Kairana is proving to be a bigger blow.

Uttar Pradesh sends the largest number of MPs to India’s Parliament with 80 seats. BJP and its allies won 73 of those in 2014. If they don’t fare well in Uttar Pradesh in the 2019 general election, their odds of returning to power are nearly impossible. The last by-elections in the state saw two major regional parties and one national party join hands.

Opposition united

This was repeated in Kairana and gives a fair indication of the growing unity among opposition parties. Modi, who is on a visit to Indonesia and will also address the Shangri-La Dialogue, Asia’s top defense summit, was last seen flying kites, which spurred derisive comments on social media.

After the highly dramatic election in the southern state of Karnataka, the country has seen further political intrigue. The by-polls for four seats in the Lower House of Parliament and 10 assembly constituencies were a litmus test for the upcoming 2019 election.

The by-elections are important as three out of the four Lower House seats were held by the ruling Bharatiya Janata Party (BJP), which now faces a united opposition. The seats held by BJP were in Kairana in Uttar Pradesh, plus Bhandara-Gondiya and Palgarh in Maharashtra. The fourth is in Nagaland, where the candidate of the ruling People’s Democratic Alliance, supported by BJP, had to face a joint Congress-supported opposition candidate.

BJP’s big loss

In Kairana, Mriganka Singh, daughter of the late BJP MP Hukum Singh, lost in a direct contest with opposition candidate Tabassum Hasan of Rashtriya Lok Dal (RLD) supported by the Congress, Samajwadi Party (SP) and the Bahujan Samaj Party (BSP).

Additionally, the Lok Dal, a faction that split from RLD, withdrew its candidate from the electoral contest, making it a head-to-head fight between the BJP and a united opposition. The bad news for the BJP seems to be coming in from all other seats that went to polls recently. As the counting of votes progressed today, news of the BJP’s defeats began to pour in.

Hasan, a Muslim Gurjar possibly helped RLD bring in Gurjar and Muslim votes along with the party’s traditional Jat vote base. Tabassum Hasan told news agency ANI: “Everyone has come out and supported us [Lok Dal]. I thank them. Other parties have supported us too. We believe in live and let live. We meet everyone, sit with everyone and take everyone. We have done that, and we will continue to do so. We live in peace and harmony.”

The defeated Mriganka Singh told the media, “The [opposition] alliance has emerged strong and now we have to prepare better for future.”

The opposition planned to consolidate all the anti-BJP votes, as it did in Gorakhpur and Phulpur by-elections earlier this year.

In Maharashtra’s Palghar, ties between the BJP and its ally Shiv Sena are strained after the BJP decided to nominate the son of its late MP Chintaman Wanaga as their candidate. The BJP retained Palghar while the Nationalist Congress Party wrested Bhandara-Gondiya from the saffron party.

Out of the 10 assembly elections, the BJP’s ally JD(U) lost by a big margin in Bihar’s Jokihaat to the Rashtriya Janata Dal (RJD) while the Samajwadi Party snatched Noorpur in Uttar Pradesh from the ruling party. The defeat in Bihar is significant, since the RJD was not in an alliance, and still managed to defeat the BJP candidate.

Meanwhile, the Communist Party of India (Marxist) has retained  Chengannur in Kerala and the Trinamool Congress won in Bengal’s Maheshtala assembly seat. Regional party Jharkhand Mukti Morcha held the fort in both Silli and Gomia. Congress secured a seat in Ampati in Meghalaya, becoming the largest party in the state. It also won in Shahkot in the Punjab and Rajarajeshwarinagar in Karnataka while lost to BJP in Uttarakhand’s Tharali.

Delhi Chief Minister and Aam Aadmi Party national convenor Arvind Kejriwal put out a tweet saying the byelection results indicate public anger toward Prime Minister Narendra Modi’s government.

Clearly, the “Modi Wave” of 2014 has not only abated, it seems to be receding. This is likely to throw the BJP into a series of desperate measures if it hopes to have a fighting chance at returning to power next year.