The stranded Interislander ferry Aratere has been successfully refloated.
The ship ran aground near Picton on Friday night after suffering a reported steering failure on a freight-only sailing.
No one was injured and there was no environmental damage, KiwiRail said.
Marlborough District Council said the refloat attempt commenced with the high tide around 9pm Saturday.
Two tug boats and the ferry's own propulsion were used to get it off the rocks.
While the council had earlier said the refloat attempt could take "several hours", the ferry was free of the shore by 9.30pm.
It had been towed to a safe anchorage point and would be re-ballasted and stabilised overnight.
Relive all the action as it happened with our live blog: