The ship, MV Wakashio, is believed to have been carrying around 4,000 tonnes of fuel, of which nearly 1,200 tonnes have already spilt, according to the operator Mitsui OSK Lines.
Despite bad weather, Prime Minister Pravind Jugnauth said all the oil has now been removed from the ship's fuel reservoirs, although a small amount remains onboard elsewhere. There had been fears that the ship could break up, spilling even more oil into the sea.
Fuel has been transferred to shore by helicopter and to another ship owned by the same Japanese firm, Nagashiki Shipping.
Why the ship came so close to the lagoon is not clear and is being investigated by police.
At a news conference, Akihiko Ono, executive vice-president of Mitsui OSK Lines "profusely" apologised for the spill and for "the great trouble we have caused".