There are 6 ways to get from Prince Rupert to Williams Lake by bus, train, car or plane

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Bus  •  16 h

  1. Take the bus from Prince Rupert to Prince George
  2. Take the bus from Prince George, BC to Williams Lake, BC 5033

$55 - $82

5 alternative options

Train, bus  •  17 h 15 min

  1. Take the train from Prince Rupert to Vanderhoof
  2. Take the bus from Vanderhoof to Prince George
  3. Take the bus from Prince George, BC to Williams Lake, BC

Drive  •  13 h 40 min

  1. Drive from Prince Rupert to Williams Lake 598.2 miles

$75 - $120

Train, fly to Williams Lake  •  8 h 22 min

  1. Take the train from Prince Rupert to Terrace
  2. Fly from Terrace (YXT) to Williams Lake (YWL) YXT - YWL

$298 - $928

Train, fly to Quesnel, bus  •  10 h 35 min

  1. Take the train from Prince Rupert to Terrace
  2. Fly from Terrace (YXT) to Quesnel (YQZ) YXT - YQZ
  3. Take the bus from Quesnel, BC to Williams Lake, BC

$189 - $581

Train, fly to Prince George, bus  •  8 h 47 min

  1. Take the train from Prince Rupert to Terrace
  2. Fly from Terrace (YXT) to Prince George (YXS) YXT - YXS
  3. Take the bus from Prince George, BC to Williams Lake, BC

$268 - $576

Questions & Answers

The cheapest way to get from Prince Rupert to Williams Lake is to bus which costs $70 - $110 and takes 16 h.

More details

The quickest way to get from Prince Rupert to Williams Lake is to train and fly which costs $380 - $1,200 and takes 8 h 22 min.

More details

No, there is no direct bus from Prince Rupert to Williams Lake. However, there are services departing from Prince Rupert and arriving at Williams Lake, BC via Dominion at 7th Ave and Prince George, BC. The journey, including transfers, takes approximately 16 h.

More details

The distance between Prince Rupert and Williams Lake is 597 km. The road distance is 957.1 km.

Get driving directions

The best way to get from Prince Rupert to Williams Lake without a car is to bus which takes 16 h and costs $70 - $110.

More details

It takes approximately 16 h to get from Prince Rupert to Williams Lake, including transfers.

More details

Prince Rupert to Williams Lake bus services, operated by BC Bus North, depart from Prince Rupert station.

More details

There is no direct flight from Terrace Airport to Williams Lake Airport. The quickest flight takes 4 h 40 min and has one stopover.

Search flights

Map of how to get from Prince Rupert to Williams Lake.
Launch map view
  • Distance: 373.1 miles
  • Duration: 16 h

What companies run services between Prince Rupert, BC, Canada and Williams Lake, BC, Canada?

You can take a bus from Prince Rupert to Williams Lake via Prince George, Dominion at 7th Ave, Patricia at 10th Ave, and Prince George, BC in around 16 h.

Airlines
Air Canada
Website
aircanada.com
Flights from Terrace to Williams Lake via Vancouver
Ave. Duration
5 h 10 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$240 - $950
Flights from Terrace to Quesnel via Vancouver
Ave. Duration
4 h 48 min
When
Monday to Saturday
Estimated price
$120 - $480
Central Mountain Air
Website
flycma.com
Flights from Terrace to Williams Lake via Vancouver
Ave. Duration
5 h
When
Wednesday, Thursday, Friday and Sunday
Estimated price
$230 - $800
Flights from Terrace to Quesnel via Vancouver
Ave. Duration
4 h 50 min
When
Monday and Tuesday
Estimated price
$120 - $430
Flights from Terrace to Prince George
Ave. Duration
1 h 5 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$180 - $400
Train operators
VIA Rail
Phone
+1 1 888 842-7245
Website
viarail.ca
Train from Prince Rupert to Vanderhoof
Ave. Duration
10 h 35 min
Frequency
4 times a day
Estimated price
$55 - $190
Website
viarail.ca
Escape
$55 - $80
Economy
$95 - $130
Economy Plus
$130 - $190
Business
$140 - $200
Business Plus/Sleeper
$250 - $350
Train from Prince Rupert to Terrace
Ave. Duration
2 h 20 min
Frequency
4 times a day
Estimated price
$27 - $80
Website
viarail.ca
Escape
$27 - $40
Economy
$35 - $50
Economy Plus
$55 - $80
Business
$50 - $75
Business Plus/Sleeper
$95 - $140
Bus operators
BC Bus North
Phone
1-844-564-7494
Website
bcbus.ca
Bus from Prince Rupert to Prince George
Ave. Duration
11 h 50 min
Frequency
Twice a week
Estimated price
$35
Schedules at
bcbus.ca
Bus from Vanderhoof to Prince George
Ave. Duration
1 h 30 min
Frequency
Twice a week
Schedules at
bcbus.ca
Greyhound Canada
Phone
+1 1-800-661-8747
Email
Canada.info@greyhound.ca
Website
greyhound.ca
Bus from Prince George, BC to Williams Lake, BC
Ave. Duration
3 h
Frequency
Once daily
Estimated price
$18 - $45
Website
Greyhound.ca
Advanced Purchase
$18 - $26
Online Fare
$21 - $40
Standard Fare
$30 - $45
Refundable
$35 - $55
Bus from Quesnel, BC to Williams Lake, BC
Ave. Duration
1 h 30 min
Frequency
Once daily
Estimated price
$12 - $35
Website
Greyhound.ca
Advanced Purchase
$12 - $18
Online Fare
$13 - $28
Standard Fare
$22 - $35
Refundable
$26 - $40

Want to know more about travelling around the world?

Rome2rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including How to get from Stansted Airport into central London, Slovenia: Getting from Ljubljana to Lake Bled and How to plan an amazing trip around Scandinavia - to help you get the most out of your next trip.