EU lawmakers made the decision last night and it is due to take effect in January next year but will only apply to payouts from 2015.
The cap is designed to address public anger at a bonus-driven culture many European politicians believe encouraged the risk-taking that led to the near-collapse of some of the region's biggest banks.
The cap has already been softened to allow banks to pay up to a quarter of a bankers' bonus in share options, bonds or other non-cash payments, which attract a premium after five years.
Payments made after more than five years would qualify for a bigger discount when calculating the size of the bonus.
Earlier this week mayor of London, Boris Johnson, said Europe's attack on bankers was a "distraction" from the real problem – a loss of confidence in the euro.
Johnson told a French radio station: "It makes no sense for us to attack the Continent's number one financial centre with bonus caps or any other ill thought-out measure, because those bankers will not vanish to France or to Frankfurt.
"They will go to Singapore or Hong Kong or New York and we will be senselessly degrading one of the EU's greatest commercial assets," he said.
Udo Bullmann, a German member of parliament, who pushed for strict limits, said last night: "The parliament withstood the pressure from the British government and did not allow any change to the cap on bonus payments.
"Despite bitter resistance from national capitals and the finance industry, Europe will be a little bit fairer from 2014."