The Trinamool Congress has won the Kaliaganj and Kharagpur Sadar Assembly seats in West Bengal an EC official confirmed.
TMC's Tapan Deb Sinha who had been locked in a neck-to-neck race with the BJP's Kamal Chandra Sarkar finally overtook the latter to win by 2,304 votes.
TMC's Pradip Sarkar defeated Premchandra Jha of the saffron party by a comfortable margin of 20,788 votes.
The loss in Kharagpur Sadar came as a shock for the BJP whose state president Dilip Ghosh was the MLA from there before he got elected to the Lok Sabha from Medinipur. Kharagpur Sadar in an assembly segment in Medinipur Lok Sabha constituency.
TMC nominee for Karimpur Bimalendu Sinha Roy has established a lead of more than 23,000 votes over his BJP rival Jaiprakash Majumdar, and looks all set to retain the seat for his party. TMC's Mohua Mitra had bagged Karimpur in the last polls before she was elected to the Lok Sabha from Krishnanagar.
This is for the first time that the TMC has bagged the Kaliaganj and Kharagpur seats.
Congress nominee Dhitashree Roy, supported by the CPI(M), had been pitted against Sinha and Sarkar at Kaliaganj.
Speaking to PTI about the results, Chief Minister Mamata Banerjee said that "BJP is getting paid back for its arrogance".
Counting of votes began at 8 am on Thursday amid tight security in three Assembly seats of West Bengal where by-polls were held on November 25.
The Kharagpur Sadar and Karimpur seats fell vacant after the general elections as the sitting MLAs of the two seats Dilip Ghosh (BJP) and Mahua Moitra (TMC) had contested and won Lok Sabha seats.
The by-poll at Kaliaganj was necessitated following the death of Congress MLA Parmathanath Roy.
Around 78 per cent of over seven lakh electorate had cast their votes in the by-polls to Kaliaganj, Karimpur and Kharagpur Sadar Assembly seats where 18 candidates were in the fray.
BJP state vice-president and the party's candidate in Karimpur, Jay Prakash Majumdar, was assaulted during polling in the constituency.
(With inputs from agencies)