Brajendra Singh Yadav of the Congress defeated his BJP rival Baisahab Yadav by a margin of 2,124 votes to win the Mungaoli seat while in Kolaras, Congress candidate Mahendra Singh Yadav prevailed over Devendra Jain of the BJP by 8,083 votes.
Brajendra Yadav got 70,808 votes while Baisahab Yadav bagged 68,684, a poll official said. In Kolaras, Mahendra Yadav polled 82,515 votes and Jain 74,432 ballots, the official said.
The by-elections of February 24 were necessitated by the deaths of sitting Congress MLAs.
The Election Commission said Sahu polled 1,02,871 votes against the 60,938 secured by Panigrahi.
Pranaya Sahu of the Congress, which had held the seat three terms in a row, came third with 10,274 votes and lost his deposit.
The by-election was held following the death of three-time Congress MLA Subal Sahu in August last year. The BJD fielded his widow as its candidate, while Panigrahi left the BJD and contested from the BJP.