Within four years of winning a single party majority in the Lok Sabha with 282 seats -- the first time it has happened in 30 years -- the BJP has lost it.
Photograph: Kamal Singh/PTI Photo
With defeats in the Kairana and Bhandara-Gondia by-elections, the Bharatiya Janata Party's strength in the Lok Sabha has come down to 273.
The BJP has lost 8 Lok Sabha seats in recent by-elections while two of its MPs resigned.
Shimoga MP B S Yeddyurappa and Bellary MP B Sriramulu resigned after winning seats in the Karnataka assembly election.
Within four years of winning a single party majority in the Lok Sabha with 282 seats -- the first time it has happened in 30 years -- the BJP has lost it.
Syed Firdaus Ashraf traces the BJP's Lok Sabha by-election losses:
Kairana, Uttar Pradesh
May 2018
Reason for by-poll: Hukum Singh, the BJP MP, passed away.
Result: Mriginka Singh, the BJP candidate and the late Hukum Singh's daughter, lost to Rashtriya Lok Dal candidate Tabasum Hasan by 44,600 votes.
Bhandara-Gondia, Maharashtra
May 2018
Reason for by-poll: Nana Patole, the BJP MP, rebelled against Prime Minister Narendra D Modi, resigned from the BJP and the Lok Sabha last December and returned to the Congress in January.
Result: Nationalist Congress Party nominee Madhukar Kukde defeated the BJP's Hemant Patle by 48,097 votes.
Alwar, Rajasthan
February 2018
Reason for by-poll: BJP MP Mahant Chandnath passed away.
Result: Congress candidate Dr Karan Singh Yadav won the by-poll by 196,496 votes, defeating the BJP's Jaswant Yadav.
Ajmer, Rajasthan
February 2018
Reason for by-poll: The demise of Sanwar Lal Jat, the BJP MP.
Result: Raghu Sharma of the Congress won the by-election by 84,414 votes, defeating the BJP's Ram Swaroop Lamba.
Gorakhpur, Uttar Pradesh
March 2018
Reason for by-poll: Yogi Adityanath -- who had represented Gorakhpur in the Lok Sabha since 1998 -- resigned after he was appointed Uttar Pradesh's chief minister in March 2017.
Result: The Samajwadi Party's Praveen Kumar Nishad stunned the BJP's Upendra Dutt Shukla by 21,961 votes.
It was the first defeat for the BJP in Gorakhpur in 28 years. Before Adityanath, his mentor Mahant Avaidyanath had been Gorakhpur's MP.
Phulpur, Uttar Pradesh
March 2018
Reason for by-poll: Sitting MP Keshav Prasad Maurya resigned after he was appointed UP's deputy chief minister.
Result: Another high-profile loss for the BJP. Samajwadi Party nominee Nagendra Pratap Singh Patel defeated the BJP's Kaushalendra Singh Patel by 59,460 votes.
Ratlam, Madhya Pradesh
November 2015
Reason for by-poll: BJP MP Dilip Singh Bhuria passed away in June 2015.
Result:: The Congress's Kantilal Bhuria won the by-poll by 88,000 votes, defeating the BJP's Nirmala Bhuria.
Gurdaspur, Punjab
October 2017
Reason for by-poll: BJP MP Vinod Khanna passed away.
Result: The Congress's Sunil Kumar Jakhar defeated the BJP's Swarn Singh Salria by 193,219 votes. Jakhar won close to half a million votes.
'2019 election won't be a cakewalk for the BJP'
'EVMs are the most credible system available'
'The BJP will be wiped out in 2019. 100 per cent'
'The BJP will split in the future'
'Modi wave is no longer that effective'