With Lok Sabha elections knocking on the door, perhaps it’s time to ask whether Narendra Modi who swept to power in the last general elections in 2014 with a thumping majority will be able to repeat his feat. Or will some other party or coalition of parties replace him at the Centre? The answer will reveal itself on May 23. Yet, a careful analysis of by-election results over the last five years of Bharatiya Janata Party (BJP) rule throws up an interesting fact of study — the BP has won only 20 per cent of the by-elections since coming to power. The party has won only six of the 30 seats where by-elections have been held in the last five years.
In 2014 when BJP came to power, by-elections were held in six Lok Sabha constituencies across the country. Of them, BJP candidates won the seats of Beed in Maharashtra and Vadodara in Gujarat. They were defeated in the remaining four seats of Medak and Warangal in Telangana, Kandhamal in Odisha and Mainpuri in Uttar Pradesh.
By-elections were in Bangaon in West Bengal and Jhabua in Madhya Pradesh in 2015. BJP lost both the seats. Trinamool candidate Mamata Bala Thakur won from Bangaon while the BJP candidate Subrata Thakur finished in third place. In Ratlam in Jhabua, the BJP candidate was defeated by Congress leader Kantilal Bhuria.
In 2016, five Lok Sabha by-elections were held in the country of which BJP won in Lakhimpur in Assam and Shahdol in Madhya Pradesh. In West Bengal, the Tamluk seat was won by Trinamool candidate Dibyendu Following the death of the member of parliament (MP) from Cooch Behar, by-elections were also held there which Trinamool won while BJP came second. In Tura in Meghalaya, the seat was won by National People’s Party (NPP) candidate Conrad Sangma.
Of the four by-elections held in 2017, the BJP did not win a single seat. They were held in Malappuram in Kerala, Amritsar and Gurdaspur in Punjab and Srinagar in Jammu and Kashmir. The Malappuram seat was won by the Indian Union Muslim League (IUML), Congress won the Amritsar and Gurdaspur seats and the National Conference won in Srinagar.
In 2018, by-elections were held in 13 Lok Sabha seats across the country. Of them, BJP won only two seats in Maharashtra’s Palghar and Shivamogga in Karnataka. The remaining 11 seats were won by other parties. The Bhandara Gondiya seat in Maharashtra was won by Nationalist Congress Party (NCP), while in Rajasthan – Ajmer and Alwar were picked up by the Congress. In West Bengal, the Uluberia seat was won by Trinamool candidate Sajda Ahmed – wife of late Sultan Ahmed. In Bihar, Rashtriya Janata Dal (RJD) candidate Sarfaraz Alam defeated the BJP candidate in Araria. The BJP was also routed in the two very important seats of Gorakhpur and Phulpur in Uttar Pradesh (UP).
The Samajwadi Party (SP) led by Akhilesh Yadav won the seat of Gorakhpur after the current chief minister of UP Yogi Adityanath left it. In the same fashion, the seat of Phulpur left by deputy chief minister Keshav Prasad Maurya was also won by the SP. Continuing with its losses, in Kairana in UP – BJP’s Mriganka Singh was defeated by the Rashtriya Lok Dal (RLD) candidate Tabassum Hasan. This apart, the Congress defeated the BJP in Bellary in Karnataka.
The party was also defeated in Karnataka’s Mandya by the Janata Dal (Secular). Though the BJP had won the seats of Kairana, Gorakhpur, Phulpur and Bhandara Gondiya in 2014, they faced loss in all these four constituencies in 2018.
Several important state legislative Assembly elections have also been held since Modi came to power including that of Bihar, Maharashtra, West Bengal, Uttar Pradesh, Gujarat, Rajasthan, Madhya Pradesh and Karnataka. Apart from Maharashtra, Uttar Pradesh and Gujarat, the saffron camp has been defeated in all other states.
While it may be true that the upcoming Lok Sabha elections will be held on a scale much larger than state Assembly polls or by-elections, yet if the indications thrown up by the results of by-elections since 2014 are to be believed – it could well turn out to be a cause of worry for the BJP.

You may also like