BNP won 151 seats in the 300-member Jatiya Sangsad, Ekattor TV showed, crossing the halfway mark for a simple majority.
Its main rival, the Islamist Jamaat-e-Islami, had 42 seats.
Jamaat chief Shafiqur Rahman indicated the party was conceding even before BNP touched the halfway number.
Votes were cast on Thursday and tens of millions of Bangladeshis turned up for what was the first election since the 2024 Generation Z-driven uprising that toppled long-time prime minister Sheikh Hasina.
Turnout appeared on track to exceed the 42 per cent recorded in the last election in 2024.
Local media reported that more than 60 per cent of registered voters were expected to have cast ballots.
More than 2000 candidates - including many independents - were on the ballot, and at least 50 parties contested, a record.
Voting in one constituency was postponed after a candidate died.
Opinion polls had indicated that the BNP-led alliance held an edge.
The BNP contested 292 of the 300 seats, leaving the remaining to its coalition partners which include more than half a dozen smaller parties.
The BNP is led by top prime ministerial contender Tarique Rahman, the 60-year-old son of former prime minister Khaleda Zia and former president Ziaur Rahman.
Its promises for the election included financial aid for poor families, a limit of 10 years for an individual to remain prime minister, boosting the economy by measures including foreign investments, and anti-corruption measures.