Honours were shared in Punjab where the ruling Shiromani Akali Dal and Congress won one seat each. Out of the 18 seats in four states for which bypolls were held on August 21, Congress and its allies won 10 while seven went to BJP and one to its ally SAD.
In a major test of popularity ahead of assembly polls in four states, the BJP along with its allies, which had swept Bihar winning 33 out of 40 Lok Sabha seats, bagged four seats out of 10 where bypolls were held as against six they had won in 2010 assembly election.
The "secular alliance" stitched by ruling JD(U) with RJD-led by Lalu Prasad and the Congress won Rajnagar (SC), Chapra and Mohiuddinnagar (all three by RJD), Jale and Parbatta (both JD-U), Bhagalpur (Congress).
Congress wrested Bhagalpur from BJP while JD(U) defeated BJP ally LJP of Ram Vilas Paswan in Parbatta, which was won by RJD in 2010.
Bouyed by the victory, JD(U) leader Nitish Kumar said the voters have expressed their "displeasure" with the Narendra Modi Government and suggested that the alliance would be broadened to include Left parties to check BJP's "communal agenda".
BJP was, however, quick to reject that the bypoll results were a reflection on the performace of the Modi Government.
BJP spokesperson Shahnawaz Hussain attributed the party's poor showing to "prevailing" factors in Bihar and said the state leaders will accept total responsibility.
The BJP, which had allied with JD(U) in 2010 elections and had parted ways last year, managed to win only in Narkatiaganj, Banka, Hajipur, and Mohania (SC).
The results have come as a boost to the JD(U) government, which enjoys a comfortable majority in Bihar Assembly.
In Karnataka, the ruling Congress received a shot in the arm when it won two seats, including wresting the prestigious Bellary(Rural) from BJP which managed to retain one constituency in the fiercely-fought August 21 by-polls.
In a blow to BJP, Congress' N Y Gopalakrishna trounced BJP's Obalesh by a margin of 33,104 votes in Bellary Rural, represented earlier by B Sriramulu, who vacated the seat after becoming a Lok Sabha member.
Sriramulu, once considered a trusted lieutenant of mining baron and former minister Janardhana Reddy, had won Bellary Rural in the 2013 Assembly polls as the candidate of his outfit BRS before rejoining BJP ahead of Lok Sabha elections.
In Shikaripura, BJP managed to retain the seat with B Y Raghavendra, son of party National Vice-President and former Chief Minister B S Yeddyurappa, winning by a reduced margin of 6,430 votes against Congress' H S Shantaveerappa Gowda.
Yeddyurappa had won the Shikaripura seat in the 2013 Assembly elections by a margin of over 24,000 votes as the candidate of Karnataka Janatha Paksha (KJP), his outfit which merged with BJP months before the Lok Sabha polls.
Congress retained its traditional stronghold of Chikkodi-Sadalga, where its candidate Ganesh Prakash Hukkeri defeated BJP's Mahantesh Kavatagimath by 31,820 votes.
The poll outcome has come as a boost for Chief Minister Siddaramaiah who was facing murmurs of discontent against his style of functioning within his party.
Having lost in 2013 assembly polls, a resurgent BJP had won 17 of 28 Lok Sabha seats in Karnataka in the Lok Sabha election.
In Punjab, the prestigious Patiala (urban) constituency was won by Perneet Kaur, wife of former chief minister Amarinder Singh, who had vacated the seat after winning the Lok Sabha election from Amritsar.
The Aam Aadmi Party (AAP), which had made a stunning debut in the state in the Lok Sabha polls winning four out of 13 seats in Punjab, lost its deposit in Patiala (Urban).
The Talwandi Sabo Assembly seat was bagged by ruling SAD whose candidate Jeet Mohinder Sidhu had deserted the Congress and quit as MLA.
Preneet, a three-time MP, was defeated by AAP's Dharamvira Gandhi in the Lok Sabha polls.
In Madhya Pradesh too, the BJP suffered a setback when Congress wrested Bahoriband seat from it but the ruling party won two others.
Sourabh Singh, who joined Congress recently after quitting BSP, won by a margin of 7977 votes in Bahoriband.
However, BJP wrested Vijayraghavgarh from Congress whose candidate and former Mayor Brajendra Mishra lost by 53,397 votes to BJP's Sanjay Pathak.
Pathak won the 2013 polls from Vijaraghavgarh seat on a Congress ticket with a thin margin. He later joined BJP during Lok Sabha polls following differences with senior Congress leaders.
BJP retained the Agar Assembly seat by a margin of 27,102 votes with its candidate Gopal Parmar defeating Congress' Rajkumar Gore. The bypoll was necessitated after sitting BJP MLA Manohar Untwal got elected as MP from Dewas Lok Sabha seat.
Again in Madhya Pradesh, the BJP had swept the Lok Sabha polls winning 27 out of 29 seats, leaving the other two to Congress.