They identified the bomber as Lebanese-born Mohamad Hassan El-Husseini, 25.
He died along with the other six in the explosion at the airport in Burgas, a Black Sea resort.
Bulgaria earlier blamed Hezbollah for the attack. The Lebanese Shia militant group denied any involvement.
More than 30 people were wounded by the blast.
The investigators said DNA analysis had led to Husseini’s identification. He had used a fake driving licence under the name Jacque Felipe Martin, they said.
Bulgarian prosecutors and the state security agency DANS also named two other Lebanese suspects allegedly involved in the attack: Meliad Farah, 32, an Australian citizen, and Hassan El Hajj Hassan, 25, who has Canadian citizenship.
Israel blamed Hezbollah and Iran – a key ally of Hezbollah – soon after the 18 July 2012 bombing. Hezbollah is staunchly hostile to Israel and has been blamed for attacks on Israelis outside the Middle East before.
Husseini’s alleged accomplices had direct links to Hezbollah, Bulgarian investigators said last year.