Yes, you will need a valid passport to go on your cruise, even though you will be departing and returning to the same port in Miami, Florida. This is because you will be visiting foreign countries (the Bahamas, St. Thomas, and St. Kitts) during your cruise, and most countries require a valid passport for entry.