White Pass Railway Skagway: $155 direct beats the cruise line by almost $80

The White Pass and Yukon Route Railway has been running trains between Skagway, Alaska and Canada for 125 years, and it is still the most popular way to spend a cruise port day in town. The views are the point, but the real tip is the price: the classic White Pass Summit ride costs $155 per adult when booked direct, while Norwegian Cruise Line sells the same trip for $229 - a markup of almost $80.
Routes and prices
The three-hour Summit route covers 20 miles from Skagway to nearly 3,000 feet of elevation, climbing to the U.S.-Canada border before turning around and heading back down. A passport is not required, which keeps it simple for cruise passengers. A fancier version in vintage 1947 parlor cars pulled by a steam engine runs $249 for adults and $180 for children.
Travelers with a full day in port can ride the eight-hour Bennett Scenic Journey, which travels about 68 miles to Carcross in Canada's Yukon Territory and returns by bus along the Klondike Highway, or the other way around. That trip costs $289 for adults and $144.50 for children, includes a 45-minute stop in Bennett, British Columbia, and comes with a boxed lunch on the train. Since it crosses into Canada, you will need a passport.
Construction began in 1898 during the Klondike gold rush, and the $10 million line was finished in just two years with more than 35,000 workers. After a shutdown from 1982 to 1988, it reopened as a tourist railway and now runs from late April to mid-October, matching the Alaska cruise season.
You can book on the railway's website, over the phone at 800-343-7373, or through your cruise line. Day-of tickets sometimes appear at the Second Avenue office in Skagway, but peak-season departures often sell out, so book ahead. On board, expect a properly vintage ride: the fleet includes two steam engines from the first half of the 20th century, 85 restored coaches, one more than 140 years old, and no air conditioning.