The USS Bonhomme Richard was stationed at Naval Base San Diego in California when a blaze broke out on board, triggering an enormous explosion.
Around 160 sailors were on board the amphibious assault ship when it caught fire, officials said.
At least 18 sailors and three civilians were wounded.
Video shows huge plumes of smoke pouring across the San Diego sky.
Mike Raney, a spokesman for the Naval Surface Force, US Pacific Fleet, said local, base and shipboard firefighting teams were all responding.
“All in-port ships have been contacted and directed to provide fire parties to possibly assist with firefighting efforts,” Raney said.
The fire was reported at approximately 8.30am, the San Diego Fire Department said.
Currently, two firefighting teams are on board the ship, Federal Fire San Diego Division Chief Rob Bondurant said in a statement.
“Federal Fire is rotating their crews aboard the ship with U.S. Navy firefighting crews from the waterfront to fight the fire in order to find the seat of the fire and extinguish it,” he went on.
The origin of the fire is still unknown and is pending investigation.
A Defence Department official told CNN they believe the blaze started near the ship’s well deck.
The well deck is at the back of the ship and is where military vehicles being transported by the ship are stored.
As a result of the blaze, two other US military warships, the destroyers USS Fitzgerald and the USS Russell moved at around 1pm.
The USS Bonhomme Richard is based in San Diego and was undergoing routine maintenance at the time of the blaze.
It has the capacity to deploy and land helicopters, smaller boats and amphibious vehicles.
The ship is about 840 feet long and when on active duty can carry around 1,000 sailors.