Panaji: The BJP, which held the Panaji Assembly seat in Goa for 25 years, lost it on Thursday to the Congress, but won bypolls in Shiroda, Mapusa and Mandrem Assembly constituencies.
The BJP is now the largest party in the 40-member House with 17 members, while the Congress has 15.
The Panaji Assembly bypoll was necessitated due to the death of sitting MLA and former chief minister Manohar Parrikar in March, while the death of sitting BJP MLA Francis D'Souza necessitated the bypoll in Mapusa.
The bypolls in Shiroda and Mandrem became necessary following the resignation of their sitting Congress MLAs.
In Panaji, Congress nominee Atanasio Monserratte got 8,748 votes while BJP's Siddharth Kunkolienkar polled 6,990 votes, an official said.
The Goa Suraksha Manch (GSM) candidate and former Goa RSS chief Subhash Velingkar came in at the third spot, getting just 560 votes while AAP's nominee Valmiki Naik came in fourth with 436 votes.
In the 2017 Assembly poll, Kunkolienkar had defeated Monserratte by around 1,600 votes.
The BJP, under Parrikar, ruled the constituency for 25 years since 1994.
After the final result came out, Kunkolienkar said he accepted the people's verdict and apologised to the BJP workers for failing to retain the seat.
However, Monserratte took a dig at the BJP, saying the party was "helpless" in Parrikar's absence.
In Mapusa, late Francis D'Souza's son Joshua D'Souza of the BJP defeated his Congress rival Sudhir Kandolkar by a margin of 1,151 votes.
The BJP nominee, who polled 11,167 votes against Kandolkar's 10,016 votes, later told reporters that he would carry forward his father's legacy and work for the people and the party.
In Shiroda, BJP candidate Subhash Shirodkar wrested the seat from the Congress by defeating his nearest rival Deepak Dhavalikar of the Maharashtrawadi Gomantak Party by just 66 votes, an election official said.
Shirodkar, who was earlier elected from the seat in the 2017 state polls on Congress' ticket, resigned in October last year and joined the BJP, due to which the by-election was necessitated. He polled 10,661 votes while Dhavalikar got 10,585 votes.
Dhavalikar refused to seek recounting of votes though Shirodkar won by a slim margin, the official said.
Congress' Mahadev Naik came in at the third position by getting 2,402 votes while GSM candidate Santosh Satarkar and AAP nominee Yogesh Khandeparkar polled 284 and 231 votes, respectively.
In Mandrem, BJP candidate Dayanand Sopte, who also joined the saffron party after resigning from the Congress, won the seat by a margin of 3,943 votes.
Sopte polled 13,168 votes while his nearest Independent rival Jeet Arolkar got 9,225 votes.
The Congress nominee Babi Baghkar secured 4,221 votes whle GSM's Swaroop Naik managed to get 615 votes.
Before the bypolls, former chief minister and senior BJP leader Laxmikant Parsekar had expressed his unhappiness over Sopte's induction into the party.
The BJP has now become the largest party in the Assembly with its strength increasing from 14 to 17 after the four bypolls, held on April 23 and May 19.
The Congress tally has now gone up to 15 in the 40- member Assembly.
Three members belong to the Goa Forward Party and there are an equal number of Independents. The MGP and NCP have one MLA each.