The French ex-trader Jerome Kerviel, whose unauthorised transactions lost his bank €4.9bn (£3.82bn), has won a claim for unfair dismissal.
A labour court said the bank, Societe Generale, had dismissed him not because of his actions, which it must have known of, but for their consequences.
The court ordered the bank to pay him €450,000 (£350,000) in damages.
A lawyer for the bank said it would be appealing a “scandalous” decision that ran counter to the law.
Mr Kerviel, 39, served a three-year jail term after being convicted of breach of trust and fraud in October 2010.
He was charged with gambling €50bn (£39bn) of Societe Generale’s money on trades without the bank’s knowledge, which nearly brought down the business.
Although he had originally generated more than €1.4bn (£1.09bn) in profits in 2007, within months that had turned into enormous losses.
Mr Kerviel had argued at his trial that Societe Generale had known what he was doing but turned a blind eye.
One of the judges at the tribunal said that the bank could not pretend it was unaware of Mr Kerviel’s fake operations and said he was fired “without genuine or serious cause”.
His lawyer, David Koubbi, told Reuters news agency on Tuesday that the court’s decision “tore apart the story which Societe Generale has presented from the beginning”.
Mr Kerviel had appealed against his conviction but it was upheld in March 2014. He spent two months walking from Rome to France before going to jail. He was later let out on condition he wear an electronic tag.
Mr Kerviel has requested a retrial of the original criminal case. He is contesting an order to repay his losses to the bank.