Authorities said a tanker blew up as it was being refuelled, and there was no indication of terrorism. The fire was under control within an hour.
A man's body was pulled from the water three hours after the fire started, according to police spokesman Michael O'Looney. Another worker was unaccounted for and a third person suffered third-degree burns and was in critical condition, according to the city's mayor, Michael Bloomberg, and hospital officials.
The explosion burned intensely on water and land at the edge of the Exxon Mobil facility, after a barge of 4 million gallons of unleaded petrol blew up as it was refuelling.
Shipping sources said a second barge was being loaded when the barge in front of it exploded. The second barge was later removed, officials said.
"I thought it was a terrorist attack," said Jennifer Wall, who videotaped plumes of smoke blowing over her home. "It was like thunder, but 20 times more vibrations. It shook the house." Residents were told to stay indoors and close their windows.
News of the blast initially sent oil futures prices rock eting by a dollar a barrel but the market settled back down after it was clear that it was an accident. Ed Silliere, the vice-president of risk management at Energy Merchant in New York, said: "We can't be losing this quantity at this time. We don't know what the damage will be."