Less than two minutes later, a second suicide attacker driving a car rigged with 50 kilograms of explosives struck about 10 metres away, the official said. He spoke to The Associated Press on condition of anonymity in line with regulations.
The bombing was one of the deadliest in a string of attacks that have targeted Hezbollah strongholds in Lebanon in recent months in a campaign of retaliation by Sunni radicals over its backing of Assad in Syria's bloody conflict, now in its third year.
In recent weeks, Hezbollah fighters have backed Assad's troops in a series of victories over rebels, taking back a string of rebel-held towns in Syria. Shiite Iran is the main Mideast backer of Assad's government, believed to be providing it with key financing and weapons.
Senior Hezbollah official Mahmoud Komati told reporters at the scene that the attacks were a direct result of the "successive defeats suffered by (extremists) in Syria".
He described the blasts as a "message of blood and death" to Iran and Hezbollah for standing by Syria, vowing they would not alter their position.
Lebanon's sectarian divisions have been inflamed by the war next door. Lebanese Sunnis largely back the rebellion and Shiites largely support Assad - and the tensions have repeated flared into clashes and bloodshed in Lebanon.
Iran's Foreign Minister blamed Israel for the attacks. Hezbollah and Syrian officials indirectly blamed Saudi Arabia, the Sunni Arab kingdom that along with fellow Gulf nation Qatar has been a major backer of Syria's rebels.
"Each of the terrorist attacks that strike in Lebanon, Syria and Iraq reek of petrodollars," a Syrian government statement said, in a clear reference to oil-rich Gulf Arab countries.
A Lebanese al-Qaeda-linked group, the Abdullah Azzam Brigades, claimed responsibility for Tuesday's attacks, saying they would continue until Hezbollah withdraws its forces from Syria.
The authenticity of the claim could not be independently verified, but it was posted on a militant website and on the Twitter account of Sirajuddin Zurayqat, a spokesman of the Azzam Brigades.
The group is active in southern Lebanon and has issued claims in the past for rocket attacks into northern Israel. It has also claimed a July 2010 bombing of a Japanese oil tanker in the Persian Gulf and a 2005 rocket attack that narrowly missed a US amphibious assault ship docked at Jordan's Aqaba Red Sea resort.
In 2011, the Obama administration added a senior member of the group, Saudi citizen Saleh al-Qarawi, to the list of global terrorists subject to US sanctions.
At the scene of the blasts, blood was puddled on the ground, and debris and tree limbs torn off by the blasts were scattered over the streets. AP video showed firefighters extinguishing flames from burning vehicles, blood-spattered streets and bodies covered with sheets on the ground. A charred motorcycle stood outside the embassy gate.
A woman in a black robe and headscarf, unable to stand, clutched a man, pleading with security forces for help.
"Nader," she wailed, crying out a man's name. "Nader is missing." Another man ran from the area, carrying a South Asian migrant worker limp in his arms.
"People aren't sacred anymore. We aren't safe," said a mechanic whose store windows were shattered by the blasts. He declined to be identified because he did not want to be seen as involved in sectarian tensions that have split the Lebanese over Syria's conflict.
"People fight outside (Lebanon), but send their messages through Lebanon. With bombs. It's their SMS service," he added.
Lebanese Health Minister Ali Hassan Khalil said the twin explosions killed 23 people and wounded 146.
Iranian Ambassador Ghazanfar Roknabadi identified the dead diplomat as Sheik Ibrahim Ansari. Speaking to Hezbollah's Al-Manar TV from inside the embassy compound, he said Ansari took his post in Lebanon a month ago and was overseeing all regional cultural activities. Al-Manar reported that the street targeted by the suicide bombers includes a building where some of the Iranian diplomats and their families live.
Also killed was the Lebanese head of the embassy's security, Radwan Fares, who was walking with Ansari at the time of the blast, said a Lebanese official at the embassy, speaking on condition of anonymity because he was not authorized to give official statements.
The explosions occurred hours before Lebanon and Iran were supposed to play a Asian Cup qualifier football match. Lebanon's state-run news agency NNA said the match will be held later Tuesday but without spectators.
"We tell those who carried out the attack, you will not be able to break us," Hezbollah lawmaker Ali Mikdad told Al-Mayadeen TV. "We got the message and we know who sent it and we know how to retaliate."
Hezbollah's Al-Rasoul al-Azam hospital called on people to donate blood, saying they need all blood types.
Previous large-scale attacks targeting Hezbollah strongholds include an Aug. 15 car bombing in the southern Beirut suburbs that killed 27 people and wounded more than 300. A less powerful car bomb targeted the same area on July 9, wounding more than 50 people.
- AP