The $87m fine is the largest in OSHA's history
BP has been fined a record $87m (£53m) for failing to correct safety hazards at its Texas City refinery in the US.
An explosion in 2005 at the Texas plant killed 15 people and injured 180 more.
The Occupational Safety and Health Administration (OSHA) cited 270 violations at the oil refinery, a US Labor Department official said.
BP said it believed it was in "full compliance" with a 2005 settlement agreement with OSHA and would work with the agency to resolve the issue.
The $87m fine is the largest in OSHA's history.
In 2005, BP paid a $21.3m fine to OSHA and entered into a four-year agreement to repair hazards at the Texas City refinery, which is the third largest in the US.
The latest fine follows a six-month inspection into whether BP had complied with that agreement.
'Can't happen again'
OSHA said the company had committed hundreds of new violations by failing to follow industry controls on pressure relief safety systems and other precautions.
The safety violations found "could lead to another catastrophe", US Labor Secretary Hilda Solis said.
"An $87m fine won't restore those lives [lost in the 2005 explosion], but we can't let this happen again. Workplace safety is more than a slogan. It's the law," Ms Solis said.
BP said in a statement: "While we strongly disagree with [OSHA's] conclusions, we will continue to work with the agency to resolve our differences."
The firm will now have 15 days to either agree to pay the fine and take corrective action, or to contest the penalty through a hearing process.
BP was fined $50m by the Department of Justice in 2007 to settle criminal charges stemming from the Texas explosion.
Lawyers for the victims' families said this was not enough.
The company has also paid more than $2bn to settle civil lawsuits and says it has invested more than $1 billion to repair safety problems at Texas City.
BP, who earlier this week reported third-quarter profits of $4.98bn, saw its shares fall 2.4% to 572.3 pence after OSHA's announcement.