The move required the agreement of all 28 of the EU’s member states.
It will now become illegal for Hezbollah sympathisers in Europe to send the group money or for European diplomats to meet its militant staff.
Some member states had been wary of the measure, saying it could further destabilise the situation in Lebanon.
The BBC’s Chris Morris in Brussels says some states had also argued it would be difficult to distinguish fully between the group’s military and political wings.
Hezbollah has a powerful political organisation and, along with its allies, dominated the last Lebanese cabinet, which resigned in March.
EU officials had reportedly been proposing a compromise to satisfy more sceptical members – a statement that the bloc “should continue dialogue with all political parties in Lebanon”.
The Lebanese government had on Friday urged Brussels not to move against Hezbollah, describing the militant group as an “essential component of Lebanese society”.
But the group’s involvement in the war across the border in Syria, in support of President Bashar al-Assad, has hardened European opinion, our correspondent says.
Countries that support the EU move say there is compelling evidence that Hezbollah was responsible for a bomb attack against Israeli tourists in Bulgaria last year in which six people died. The group denies any involvement.
In February, Bulgaria handed the EU’s police agency the names of two people it suspected of involvement in the attack. Bulgarian officials said they believed the two men were Hezbollah members.
EU diplomats also point to a court case in Cyprus, where a Hezbollah operative was found guilty of planning attacks against Israeli citizens.
Hossam Taleb Yaccoub, 24, said he had been asked to record information about Israeli flights arriving on the island, and registration plates of buses carrying tourists from Israel. He said he did not know what the information was intended for.
Hezbollah has already been blacklisted by the United States, Canada, Australia, the UK and the Netherlands.
Error: No connected account.
Please go to the Instagram Feed settings page to connect an account.