There are 4 ways to get from Melbourne to Fremantle by plane, train, bus or car

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

Fly  •  7 h 19 min

  1. Fly from Melbourne (MEL) to Perth (PER) MEL - PER

$114 - $195

3 alternative options

Train  •  2 days 5 h

  1. Take the train from Southern Cross to Adelaide Overland
  2. Take the train from Adelaide Parklands to Perth Indian Pacific

$502 - $1,215

Bus, train  •  2 days 7 h

  1. Take the bus from Southern Cross Coach Terminal/Spencer St to 85 Franklin St Melbourne - Adelaide Via Bendigo & Nhill
  2. Take the train from Adelaide Parklands to Perth Indian Pacific

$502 - $1,184

Drive  •  37 h 56 min

  1. Drive from Melbourne to Fremantle 2148.2 miles

$300 - $450

Questions & Answers

The cheapest way to get from Melbourne to Fremantle is to fly which costs $150 - $270 and takes 7 h 19 min.

More details

The quickest way to get from Melbourne to Fremantle is to fly which costs $150 - $270 and takes 7 h 19 min.

More details

The distance between Melbourne and Fremantle is 2727 km. The road distance is 3437.1 km.

Get driving directions

It takes approximately 7 h 19 min to get from Melbourne to Fremantle, including transfers.

More details

No, there is no direct train from Melbourne to Fremantle. However, there are services departing from Southern Cross and arriving at Fremantle Stn Platform 2 via Adelaide Parklands and Perth Stn Platform 7. The journey, including transfers, takes approximately 2 days 5 h.

More details

What companies run services between Melbourne, VIC, Australia and Fremantle, WA, Australia?

Qantas, Tigerair Australia and two other airlines fly from Melbourne to Fremantle hourly. Alternatively, you can take a train from Melbourne to Fremantle via Adelaide, Adelaide Parklands, Perth, and Perth Stn Platform 7 in around 2 days 5 h.

Airlines
Qantas
Website
qantas.com
Flights from Melbourne to Perth
Ave. Duration
4 h 8 min
When
Every day
Estimated price
$160 - $400
Flights from Melbourne to Perth via Adelaide
Ave. Duration
5 h 41 min
When
Every day
Estimated price
$160 - $400
Virgin Australia
Website
virginaustralia.com
Flights from Melbourne to Perth
Ave. Duration
4 h 22 min
When
Every day
Estimated price
$160 - $210
Flights from Melbourne to Perth via Kalgoorlie
Ave. Duration
5 h 40 min
When
Sunday
Estimated price
$160 - $210
Jetstar
Website
jetstar.com
Flights from Melbourne to Perth
Ave. Duration
4 h 12 min
When
Every day
Estimated price
$140 - $310
Tigerair Australia
Website
tigerair.com.au
Flights from Melbourne to Perth
Ave. Duration
4 h 13 min
When
Every day
Estimated price
$100 - $190
Train operators
PTV Overland
Email
1800 800 007
Website
ptv.vic.gov.au
Train from Southern Cross to Adelaide
Ave. Duration
10 h 5 min
Frequency
Twice a week
Estimated price
$55 - $110
Schedules at
ptv.vic.gov.au
Ready Rail
$59
Rail Saver
$87 - $93
Red Service
$100 - $110
Red Premium
$135 - $150
Great Southern Rail - Indian Pacific
Phone
1800 703 357
Email
sales.enquiries@gsr.com.au
Website
greatsouthernrail.com.au
Train from Adelaide Parklands to Perth
Ave. Duration
42 h 5 min
Frequency
Twice a week
Estimated price
$440 - $1,100
Schedules at
greatsouthernrail.com.au
Everyday Daynighter Seat
$440
Advanced Gold Single Cabin
$750 - $1,000
Low Gold Single Cabin
$800 - $1,100
Everyday Gold Single Cabin
$900 - $1,300
Bus operators
V-Line
Phone
1800 800 007
Website
vline.com.au
Bus from Southern Cross Coach Terminal/Spencer St to 85 Franklin St
Ave. Duration
11 h 50 min
Frequency
Once a week
Estimated price
$55 - $80
Schedules at
ptv.vic.gov.au

Want to know more about travelling around Australia

Rome2rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.