Only four of the 15 banks that Bafin examined last year capped bankers' bonuses at the level of their base salaries, in line with the European Union-wide rule that came into force this year.
"We are not entirely happy with any bank," Bafin chief Raimund Röseler told journalists.
"No one was good and many were bad," he said.
Judging them in terms of school grades, Röseler said the banks fell between satisfactory and unsatisfactory.
Of the remaining 11 banks, seven would have to seek special permission from their shareholders to approve bonuses that were up to double base salary, while bonuses at the rest of the banks examined were even higher.
Many were getting around the cap by not defining managers in key positions as being "material risk-takers", Bafin said. Of the 87 bank managers in Germany that earned bonuses of more than 1 million euros ($1.37 million) in 2012, only 40 had been identified as being risk-takers.
"It is incomprehensible how someone can earn a million euros and not have an influence on the risk position of a bank," Röseler said.
Banks' employees in foreign locations, such as Deutsche Bank's London-based investment bankers, were not included in Bafin's tally.
The European Banking Authority had counted 211 managers in the million euro category in Germany, including foreign banks. There are more than ten times as many in London.
The bonus caps will apply to all to all bankers in Germany in the future, regardless of their function, Röseler said.
"I could imagine that in some business areas, the level of pay will sink," he added.
Röseler declined to name individual banks but made clear that it was not only large banks that were at fault.
"We also found especially grave deficiencies at banks where we didn't expect it," he said.