BJP on Wednesday swept five of six seats -- two of Lok Sabha and three Assembly which were previously held by the Congress -- in the by-elections held in Gujarat.
BJP is also leading in the Dhoraji Assembly seat where counting of votes is on.
"BJP candidates have won in two Lok Sabha seats of Banaskantha and Porbandar and three Assembly seats of Limbadi, Morva Hadaf and Jetpur," said state election official.
All the six seats had earlier been held by Congress candidates.
Significant win was registered in the Porbandar Lok Sabha seat where Vithhal Radadia, who was caught brandishing his gun at a toll booth last year when he was a Congress MP and later crossed over BJP, won the seat with over 1,28,000 votes.
The Sabarkantha Lok Sabha seat, which fell vacant after the death of Congress MP Mukesh Gadhvi, was won by Haribhai Chaudhary of BJP with the margin of more than 71,000 votes over his Congress rival Krishna Gadhvi, wife of Mukesh Gadhvi.
BJP's Jayesh Radadia, who also defected from Congress with his father Vithhal Radadia, won the Jetpur Assembly seat from Jagdish Pambhar of Congress.
Nimisha Suthar from BJP won the Morva Hadaf (ST) Assembly seat by defeating Congress candidate Bhupendrasinh Khant. The seat was held by Bhupendrasinh's mother Savita Khant, who died during the counting of Assembly elections last December.
Former state minister and BJP leader Kiritsinh Rana won Limbadi seat by defeating Congress candidate Satish Patel.
The bye-election was necessitated after Congress MP Soma Patel, who won Limbadi Assembly seat too, resigned as an MLA.
Congress had fielded his son Satish Patel on the seat.
BJP is leading by 6,803 votes after 26 rounds of counting in the Dhoraji Assembly seat, which fell vacant after Vithhal Radadia left Congress to join BJP and resigned as an MLA. BJP candidate Pravin Mankadia is fighting against Congress rival Haribhai Patel on the seat.