Contact your bank and dispute the charge. They will put it back into your account within a couple of days. They then research it and if you are correct all is well. If the cruise line disputes in back or they are correct they pull the money out again.
I have had to dispute debit card charges with a couple of different banks for my busines and this is the way it has always been handled.