Scores of demonstrators had blocked the highway between the provincial capital Jalalabad and a key border crossing with Pakistan, when the bomber struck.
The protesters had come from Achin district to demand the removal of a local police commander.
The attack was one of the worst in Afghanistan for months but security officials have warned that similar attacks are likely if crowds gather for campaign rallies ahead of parliamentary elections in October
“… the explosion happened and I found myself surrounded by blood and flesh,” Zar Khan, one of the injured, told AFP news agency.
The deadly suicide attack came hours after multiple bombings targeted schools in Jalalabad.
One blast went off at the entrance of Malika Omaira girls’ school in the morning, killing a 14-year-old boy and wounding four other people. It was followed by two explosions in Behsud district, also near two schools.
Afghan President Ashraf Ghani condemned the suicide attack, as well as the school bombings in Nangarhar.
In a statement he said that “attacks on civilian facilities, mosques, women, children, are all crimes against humanity”.
The Taliban denied any involvement in the attacks and no other group claimed responsibility for the violence.
Nangarhar has been a main stronghold of ISIS fighters since early 2015.