Titan Salvage is owned by U.S. group Crowley Maritime Corp (CWLM.PK) and Denmark's Svitzer, owned by Maersk (MAERSKb.CO).
Costa did not give a value for the contract.
The salvage operation will begin next month and is expected to last a year, Costa said in a statement.
The ship, owned by Carnival Corp & Plc (CCL.N) (CCL.L), capsized off the Tuscan island after hitting rocks on January 13. At least 30 people died and two are still unaccounted for.
The operation to pump more than 2,300 tonnes of fuel out of the vessel was completed last month.
Costa said protection of the environment would be given "maximum priority" in the salvage operation.
The company said the ship would be floated and towed to another Italian port. The operation would also include measures to protect the tourist industry during the summer season. The port of Giglio will remain open during the operation.
After the ship is floated and towed away, the seabed would be cleaned of remaining debris and measures taken to allow marine flora to flourish again, Costa said.