One protester was killed, a senior Lebanese military official and witnesses said.
A military statement said the protesters had barely arrived at the embassy area when clashes broke out and a civilian opened fire. The embassy is located in Bir Hassan, a predominantly pro-Hezbollah area.
Witnesses at the scene saw men wearing yellow arm bands, the colour of Hezbollah's flag, attacking the protesters with batons. It was unclear however if they were directly affiliated with the Shiite guerrilla group, and the identity of the gunman was unknown, a senior security official said.
The Syrian conflict, in its third year, is increasingly spilling over into Lebanon, home to a fragile mosaic of more than a dozen religious and ethnic groups.
Also Read
The forces of Syria's President Bashar Assad, backed by Hezbollah fighters, succeeded last week in driving rebels out of a strategic town near the Lebanese border after a gruelling three-week battle.
The leader of Hezbollah, Hassan Nasrallah, said last month he would side with Assad until the rebels are defeated. Gunmen from rival religious sects have also gone to Syria to fight on the rebel sides.
Clashes in northern Lebanon between rival Lebanese groups since last month claimed more than 28 lives, and rockets have targeted Hezbollah strongholds. Hezbollah's political rivals have also increased their criticism of the group, deepening a political stalemate that has hit the country in recent months and postponing for 17 months elections that were due this month.
The Lebanese Option Party is headed by a Shiite politician, Ahmad El Assaad, who has long been opposed to Hezbollah. Today's clash outside the Iranian embassy marked rare fighting between two opposing Shiite groups.