U.S. District Judge Carl Barbier found BP to hold the most responsibility for the catastrophe that killed 11 people and dumped millions of barrels of crude oil into the Gulf, spreading to impact the shorelines of five states.
"BP's conduct was reckless," Barbier wrote in his decision. "Transocean's conduct was negligent. Halliburton's conduct was negligent."
Barbier said BP was 67 percent responsible, Transocean 30 percent and Halliburton 3 percent.
He said BP was "subject to enhanced penalties under the Clean Water Act" because it was found to have committed gross negligence and willful misconduct.
A statement from BP responded with an announcement it would immediately appeal the decision to the U.S. Court of Appeals for the Fifth Circuit.
"BP believes that the finding... is not supported by the evidence at trial," the statement said. "The law is clear that proving gross negligence is a very high bar that was not met in this case. BP believes that an impartial view of the record does not support the erroneous conclusion reached by the District Court."
If it loses all its appeals, BP may have to pay up to $18 billion to plaintiffs including the U.S. government, five states, banks, restaurants, fishermen and others. It says it has set $3.5 billion aside.
"During the penalty proceedings, BP will seek to show that its conduct merits a penalty that is less than the applicable maximum after application of the statutory factors," the company said.
BP, Transocean and Halliburton have blamed each other for the explosion on the Deepwater Horizon oil rig and the leak of more than 4.2 million barrels of oil over three months. Transocean owned the rig and leased it to BP, while Halliburton was blamed for providing defective cementing services.