Some 50 protesters from the group Smash Cruiseshit prevented Dutch liner the Zuiderdam from leaving the port of Kiel, in northern Germany.
The activists positioned rowboats in front of the ship, blocked access to the bollards to which the ship was moored and occupied a construction crane that was draped with a large banner that read "Cruises kill climate".
The group is demanding curbs on “catastrophic” emissions from the cruise industry and improved working standards for personnel, who the group says earn around 2 euros per hour working 72 hours a week.
Police and special forces cleared the protesters and confiscated their boats in an operation that took several hours. Some 32 people were reportedly arrested.
The Zuiderdam was able to leave port by 10pm.