Another 23 people were wounded in the attack, the provincial governor’s spokesman Attaullah Khoghani said.
Sohrab Qaderi, a member of the local provincial council, said at least 45 dead and wounded had been taken to local hospitals but added that the toll could rise.
Local officials said the attack targeted a gathering to protest against a local militia commander and said hundreds of people were present when the blast occurred.
Nangarhar province, on the border with Pakistan, has been one of the most volatile regions in Afghanistan this year, with a string of suicide bombings and attacks on the provincial capital Jalalabad.
There was no immediate claim of responsibility. The province has been one of the main strongholds of Islamic State fighters since early 2015.
More about: Afghanistan