It happened at 3075 Richmond Terrace between Lockman Avenue and Andros Avenue.
The FDNY says they received a report of workers trapped around 3:30 p.m., and a fire in the back of shipyard, followed by a major explosion around 4:20 p.m.
According to reports, workers were at the back of the shipyard doing work in a confined space near a dry dock when the fire broke out. It was a specialized basin area where ships can rest on dry land.
Officials say firefighters had begun working to extinguish the fire when the explosion happened.
At least 31 people were injured. Among the most severely injured was a civilian, believed to be a worker, and two firefighters, who suffered serious injuries. At least two firefighters suffered moderate injuries, and at least nine firefighters and two EMS members suffered minor injuries. They were taken to area hospitals.
Police sources told Eyewitness News that a worker may still be unaccounted for.
Several firefighters issued maydays while battling the blaze. They have all been located and are being treated.
People who live in the area came out of their homes and were shaken by what they saw and and heard.
"We saw a bunch of fire trucks and I heard someone say every single fire truck and police officer on the entire island was over here," said witness Richard Obiozor. "A couple minutes later, a massive explosion, shock wave came in and a person in a white suit, I think the captain, said 'back up.'"
It's not clear yet what caused the explosion and fire.
Officials are asking drivers to avoid the area amid road closures due to the emergency response.
----------
* More Staten Island news
* Send us a news tip
* Download the abc7NY app for breaking news alerts
* Download our connected TV app