The remaining four seats were won by BJP, the Election Commission said here.
In 2010 Assembly poll, BJP had won 6 of the 10 seats which went to polls, while RJD was victorious on 3 and JD(U) in 1.
This time, BJP won Narkatiaganj, Hajipur, Banka and Mohania (SC) seats.
RJD of Lalu Prasad was victorious in Rajnagar (SC), Chapra and Mohiuddinagar. Ruling JD(U) won in Jale and Parbatta, while Congress wrested Bhagalpur from BJP.
In Banka, BJP candidate Ramnarayan Mandal defeated his nearest RJD rival Iqbal Hussain Ansari by a slender margin of 711 votes.
Though the outcome of the bypoll would not have much impact on health of Jitan Ram Manjhi ministry as it already enjoys support of 145 MLAs in the 243-member House.
The outcome of the bye-elections has infused new energy in JD(U), RJD and Congress in the state after they received severe drubbing in the Lok Sabha polls.
BJP in company of LJP and RLSP of Union minister Upendra Kushwaha had won 31 out of 40 Lok Sabha seats in Bihar.
RJD which had fought with Congress and NCP had won 7, while JD(U) which went solo had managed only 2 seats in the wake of "Modi wave."