Concierge
  • Our Viking Exclusive: Up to $150 Free to Spend on Board
  • 2018 Early Booking Discount: 2-for-1 Cruises & up to Free Air
  • Call: Reduced Airfare
  • Viking Experience: Complimentary Shore Excursions
  • Viking Experience: Complimentary Beverages

Viking River Cruises

Top Offers, As Selected By Our Luxury Experts

The Viking brand is synonymous with historic heritage, all-inclusive value, and impeccable service. Viking boasts the world's largest fleet of river cruise ships, 20 vessels specifically built to take full advantage of European, Russian, Chinese, and Egyptian waterways. Scandinavian in design, Viking ships feature open and airy interiors throughout (so panoramic views are always assured).

Onboard dining is another highlight (Viking's menus, crafted by European and celebrity chefs, combine regional specialties with classic American fare). And with at least one shore excursion available daily, passengers are guaranteed the opportunity to enjoy an in-depth cultural experience.
Viking has consistently been recognized as one of the world's top cruise lines by the travel industry's most respected publications, including Condé Nast Traveler, National Geographic, and Travel Weekly.
To book your Viking River cruise, please contact a Personal Cruise Concierge by phone at 800-259-6188 Monday-Friday 9am-9pm, Saturday 9am-6pm EST. You may also request a consultation using our online form.
Europe Viking River Cruises
Interior Oceanview Balcony Suite
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
Russia Viking River Cruises
Interior Oceanview Balcony Suite
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----
Asia Viking River Cruises
Interior Oceanview Balcony Suite
The following has evaluated to null or missing: ==> productCount [in template "thistemplate" at line 1031, column 70] ---- Tip: If the failing expression is known to be legally refer to something that's null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${productCount} [in template "thistemplate" in macro "displayCruiselineLogo" at line 1031, column 68] - Reached through: @displayCruiselineLogo cruise.cruiseline [in template "thistemplate" at line 774, column 25] ----


Explore Viking River Cruise Ships:

MS Mayfair

Viking Aegir

Viking Akun

Viking Alruna

Viking Alsvin

Viking Astrild

Viking Atla

Viking Baldur

Viking Beyla

Viking Bragi

Viking Buri

Viking Delling

Viking Egil

Viking Eir

Viking Embla

Viking Emerald

Viking Forseti

Viking Gefjon

Viking Gullveig

Viking Heimdal

Viking Helgi

Viking Hemming

Viking Herja

Viking Hermod

Viking Hild

Viking Hlin

Viking Idi

Viking Idun

Viking Ingvar

Viking Ingvi

Viking Jarl

Viking Kadlin

Viking Kara

Viking Kvasir

Viking Legend

Viking Lif

Viking Lofn

Viking Magni

Viking Mani

Viking Mekong

Viking Mimir

Viking Modi

Viking Njord

Viking Odin

Viking Osfrid

Viking Prestige

Viking Ra

Viking Rinda

Viking Rolf

Viking Skadi

Viking Skirnir

Viking Tialfi

Viking Tor

Viking Torgil

Viking Truvor

Viking Var

Viking Ve

Viking Vidar

Viking Vilhjalm

Viking Vili

Terms & Conditions
Price is in U.S. dollars per person based on two people staying in the same stateroom. Price does not include airport and/or government taxes and fees, nor does pricing include fuel supplements. Prices do not include government taxes and fees, airfare, or a non-refundable $24.99 processing fee per booking. All offers are for selected dates only, are subject to availability, are limited and apply to new bookings only. Your exact price depends on the time of the actual booking. Additional restrictions may apply. All prices and dates may not be available at the time of booking. Passengers receiving special rates based on residency or age will be required to show a government-issued form of identification (passport, or birth certificate and driver's license) at the pier to validate state of residency or age prior to boarding the cruise ship.

Special requirements
If you or a guest is pregnant or traveling with an infant child, or if there is a need to communicate a request for special meals, medical conditions or physical challenges, we ask that you please call 800-259-6188. Cruise Specialists are available 24 hours a day, 7 days a week. We will do everything we can to meet your needs and answer all of your questions.

Minimum age requirements may apply.
Free upgrade!

Book an eligible stateroom on any qualifying sailing and receive a free upgrade! In some cases, you'll be upgraded to a more desirable location aboard your ship. In other instances, you'll be upgraded to a stateroom with extra space and/or a better view. It's also possible that you might receive all of these benefits. Select your sailing date to see which upgrades are available.