The Best Cruise Deals & Special Offers

All the top cruise deals, all in one place. Explore by destination, find current offers, and discover special perks. Our limited-time and last-minute offers sell out quickly, so book now to take advantage of the best available rates. Nothing Comes Close to a Celebrity vacation, especially with these special savings.

75% Off Second Guest

There's no better time to plan the vacation you deserve than during our Summer Sale. For a limited time, enjoy 75% off your second guest's fare plus bonus savings on select sailings.

3rd & 4th Guests Sail Free

Enjoy extra savings when you travel together. Your 3rd and 4th guests sail free when sharing the same stateroom on select sailings. Taxes and fees apply.

Best Rates on Last Minute Cruises

Secure the best rates on our final few staterooms with these last minute Exciting Deals. The Caribbean, Alaska, Europe, and beyond are all waiting for you.

Take Advantage of These Cruise Offers Anytime

Resident Rates

Take advantage of our exclusive resident rates on select sailings. Our resident rates apply to a wide range of cruise options, from family-friendly to romantic getaways and everything in between.

Senior Rates

Take advantage of special savings on our cruises, available exclusively for guests who are 55 years of age and older. Enjoy great value and comfort while exploring breathtaking destinations around the world.

Military Savings

In appreciation of our servicemembers and women, we’re proud to offer active and retired military personnel exclusive savings on select staterooms and suites.

Trending Destinations with Limited-Time Savings

Caribbean Cruises

STARTING FROM $440*
*Taxes & fees included

Europe Cruises

STARTING FROM $858*
*Taxes & fees included

Alaska Cruises

STARTING FROM $719*
*Taxes & fees included

 

 

Limited-Time Seasonal Cruise Offers

 

 

Sail Away with Savings on Nearby Cruises

Paying for your cruise
has never been easier

We have variety of convenient options for you to pay for your cruise that best fit your needs. Select one during booking, and you're on your way.

AFFIRM

Select Affirm during checkout for instant financing options to cruise now and pay later - even after your vacation has ended.

SCHEDULED PAYMENTS

Pay little by little or submit a lump sum for the balance by the final payment date. The choice is yours.

TOTAL BALANCE

Pay the full balance at the time of booking and start packing. Then all that's left to do is enjoy your upcoming adventure.

COURTESY HOLD

Need time to think it over? We'll hold your reservation - including any promotions - for up to five days.

") never matches the // hierarchical taxonomy the business expects (e.g. // "aem:cruise-ships:celebrity-reflection:games:landing"). The embedded game widget // already fires its own correct utag.view() with that hierarchical pageName once it // loads, so Tealium's automatic page view -- driven by this script's incorrect // pageName/channel -- is a redundant, incorrectly-tagged extra server call. Suppress // it here so only the widget's correct call is billed/reported. const gamificationPageRegex = /^\/content\/celebrity\/(?:[a-z]{2}\/[a-z]{2}|int\/[a-z]{2})\/games\/.+$/; if (gamificationPageRegex.test(currentPagePath)) { window.utag_cfg_ovrd = window.utag_cfg_ovrd || {}; window.utag_cfg_ovrd.noview = true; } utag_data = Object.assign({}, utag_data, { bread_crumbs: hier1, link_name: linkName, page_path: "/content/celebrity/us/en/cruise-deals", page_name: pageName, page_type: channel, page_section_type: channel, link_source: linkSource, }); // g11n (when attached) already resolves /ca/fr and writes the domain-scoped `lang` cookie // itself; only fall back to this host-scoped write when g11n isn't present. if (window.location.pathname.indexOf("/ca/fr") !== -1 && !((typeof window !== 'undefined') && window.rcg && window.rcg.g11n)) { document.cookie = "lang=fr; path=/; max-age=3600;"; } document.addEventListener('DOMContentLoaded', initDataLayerProperties()); function initDataLayerProperties() { let country = $.fn.authTokenService.getCountryFromPath(document.location.pathname); country = country ? country : ($.fn.cookieManager().getCookieValue("wuc") || "USA"); var _g11n = (typeof window !== 'undefined') && window.rcg && window.rcg.g11n; var currency = _g11n ? _g11n.currencyCode() : null; if (!currency) { currency = ($.fn.cookieManager && $.fn.cookieManager().getCookieValue('currencyCode')) || "USD"; } // g11n already wrote wuc/currencyCode domain-scoped in HEAD when present -- a // host-scoped legacy rewrite here only duplicates the cookie and creates a // read-order conflict (see auth_token_service.js's countryCodeCall for the same rule). if (!_g11n) { if (country) { $.fn.cookieManager().eraseCookie("wuc"); $.fn.cookieManager().createCookie("wuc", country); } $.fn.cookieManager().eraseCookie("currencyCode"); $.fn.cookieManager().createCookie("currencyCode", currency); } if (window.updateDataLayerVariables && typeof window.updateDataLayerVariables === 'function') { window.updateDataLayerVariables(utag_data); } }