With the exception of Maharashtra, by-election results 2018 for several Lok Sabha and Assembly constituencies have once again disappointed the BJP. More so in Uttar Pradesh where the saffron party has failed to retain the Kairana Lok Sabha and Noorpur Assembly seats that had fallen vacant after the death of the sitting MP and MLA. This comes only a few months after the saffron party failed to retain Gorakhpur and Phulpur Lok Sabha seats previously represented by Uttar Pradesh CM Yogi Adityanath and his deputy Keshav Prasad Maurya. In Kerala's Chengannur Assembly constituency, CPI(M) has retained the seat. Its candidate Saji Cherian won the Chengannur Assembly bypoll by a huge margin of 20,956 votes over his nearest Congress rival D Vijaykumar, who got 46,347 votes. BJP candidate P S Sreedharan Pillai finished third with 35,270 votes. In Bihar, BJP's ally JD(U) failed to win Jokihat assembly bypoll and was defeated by RJD by over 41,000 votes. The Jokhihat seat in minority Muslims-dominated Araria district of Bihar was won by JD(U) during the 2015 state elections. Here, RJD canddiate Shahnawaz Alam defeated Murshid Alam of JD(U). Follow\u00a0Kairana by election result 2018 LIVE Updates Some good news for BJP came from Maharashtra where its candidate Rajendra Gavit won the Palghar Lok Sabha bypoll. Gavit defeated nearest rival Shriniwas Vanga of the Sena and the son of sitting BJP MP Chintaman Vanga, whose death in January necessitated the bypoll, by over 29,000 votes. In Bhandara-Gondia Lok Sabha seat of Maharashtra, the saffron party lost to the NCP candidate. In Nagaland, however, BJP ally NDPP is set to retain the lone Lok Sabha seat of the state. After facing humiliation in Karnataka by failing to form the government despite finishing as the single-largest party in recent Assembly polls, the saffron party failed to stop the Congress from winning RR Nagar constituency, where voting was held on May 28. In some other Assembly seats that went to polls on May 28, BJP failed to impress. It lost two assembly bypolls in Jharkhand - Simi and Gomia - to JMM while Palus Kadegaon of Maharashtra was won by Congress' Vishwajeet Patangrao Kadam. In Meghalaya's Ampati, Congress candidate Miani D Shira has won the seat. In Uttarakhand, however, BJP managed to retain Tharali Assembly seat. So, what led to BJP's bypoll drubbing? On a political level, opposition parties have started to gang up against the BJP everywhere, presenting a serious challenge to the saffron party. Samajwadi Party chief Akhilesh Yadav summed this up: "I want to congratulate all the people who voted for us. This is a defeat for those who do not believe in the democracy. People have given a befitting reply to the BJP," he was quoted as saying by ANI. "Jo khel woh (BJP) humaare saath khelte the, wahi khel humne seekha hai unse. (The game they used to play with us, we have learnt it from them)," he added. In Kairana, elated Tabassum Hasan predicts BJP doom, only three UP seats in 2019 BJP Kairana candidate Mriganka Singh also acknowledged the challenge of facing a united opposition. "Many voters did vote for BJP but with a lead of some thousand votes alliance has won. I would like to congratulate the candidate. The alliance has emerged strong and now we have to prepare better for future," Singh told ANI. There is, however, an economic explanation also for BJP's poor performance in bypolls. While many people across the country have been complaining against big-ticket decisions like demonetisation and GST in the last two years, their anger has spiked in the last two-three weeks over rising fuel prices. There is a visible dissatisfaction with the Narendra Modi government at the Centre because of high petrol, diesel prices. JD(U) leader K C Tyagi, an ally of the BJP, accepted this. "There is outrage across the country due to increase in price of petrol & diesel. Constant rise in the price of fuel is also a reason for such poll results. Therefore, the hike should be immediately rolled back," Tyagi told ANI. AAP leader Arvind Kejriwal tweeted, "Today's results reflect that there is a lot of anger against the Modi government. Until now people were asking what is the option. Today, people are saying Modi ji in not an alternative. Remove him first." On Thursday, Petrol price was cut by 7 paise a litre and diesel by 5 paise. This was the second reduction in as many days in the wake of easing international oil rates. The price of petrol in Delhi now is Rs 78.35 a litre and diesel Rs 69.25 per litre from Rs 69.30. On Wednesday, a mockery of sort was done with the people when petrol and diesel prices were cut by 1 paisa a litre each. Petrol and diesel prices rose by Rs 3.8 and Rs 3.38 per litre respectively on 16 consecutive increases since May 14.