7 of Melbourne’s Best Miniature Railways

Across various locations in Melbourne, little train-lovers can ride on scaled-down trains, see how they work, and explore beautiful landscaped tracks along the way.

We’ve gathered a list of the best miniature railways in Melbourne that provide a charming way to enjoy the nostalgia of train travel in a fun and picturesque setting.

These miniature railways typically operate monthly on weekends (weather permitting) and have dedicated stations, ticketing systems, and enthusiastic volunteers who ensure a safe and enjoyable experience for visitors. 

Many of these railways also offer additional facilities such as picnic areas, kiosks or food vans, as well as nearby playgrounds making for the perfect family outing!

Miniature Railway Melbourne
Miniature Railway Melbourne

Miniature Railways Melbourne

1.Diamond Valley Miniature Railway

Located in Eltham Lower Park, Diamond Valley Railway is one of the most popular miniature railways in Melbourne. It features over two kilometres of track that wind through picturesque bushland. The trains are modeled after different locomotives and offer rides for visitors of all ages. 

A big bonus for families is Eltham Lower Park playspace nearby.

Open to the public every Sunday from 11am – 5pm. 

Cost is $4 per person per ride. Children under 2 years ride free. 

Diamond Valley Miniature Railway, 570 Main Rd Eltham

Diamond Valley Railway

2. Bulla Hill Railway

With a dinosaur theme and playground right next door, Bulla Hill Railway is another popular miniature railway Melbourne has to offer, located northwest of the city. It has been delighting visitors since 1973 with its miniature steam and diesel trains, and 1.5km of scenic track through the Tullamarine Valley.

Open on the 3rd Sunday of every month from 11am-4pm (last train leaves 3.45pm).

Cost is $5 per person per ride.

Bulla Hill Railway, Bulla Recreation Reserve, 15 Green St, Bulla

Bulla Miniature Railway 11

3. Altona Miniature Railway

Ride along 1.5km of track on miniature steam and diesel engines at the Altona Miniature Railway. With tall trees, tunnels and plenty of loops, these trains even pass each other along some parts of the journey – so you can wave to each other as you chug along!

Public runs on the 3rd Sunday of every month from 10am – 3pm.

Cost is $4 per person per ride. Children under 12 months ride free.

Altona Miniature Railway, 1-21 Blenheim Rd, Altona North

Altona Miniature Railway 2016 13

4. The Miniature Railway, National Steam Centre

For an authentic experience reminiscent of the golden age of steam travel, head to The National Steam Centre – a museum and historical society dedicated to preserving and showcasing steam-powered machinery and equipment. 

Visitors have the opportunity to board the miniature trains and enjoy a leisurely ride, experiencing the sights and sounds of steam locomotion. The train ride passes various machinery, as well as a lake where children can spot ducks and other water birds.

While the museum is open for viewing each Saturday and Sunday from 11am – 4pm, the miniature railway operates on a Sunday only.

Museum entry is by donation and the miniature railway cost is $4 per person per ride. 

The Miniature Railway, National Steam Centre, 1200 Ferntree Gully Rd, Scoresby

Miniature Railway Melbourne

5. Mooroolbark & District Miniature Railway & Steam Club

The Mooroolbark & District Miniature Railway & Steam Club is a community-based club that brings together train enthusiasts and hobbyists. The miniature railway loops and winds through 1.5km of scenic bushland and park areas, ensuring families have a refreshing and fun trip along the tracks. 

Open on the 4th Sunday of each month, except in December. 

Train rides operate from 11am – 4pm with a lunch break between 1-2pm.

Train rides cost $3 per person per ride. Children under 4 ride for free.

Mooroolbark & District Miniature Railway & Steam Club, 75 Hawthory Rd, Mooroolbark

Mooroolbark District Miniature Railway Steam Club

6. Box Hill Miniature Railway

Set in picturesque Elgar Park, Box Hill Miniature Railway offers rides on miniature steam trains, and provides a tremendously scenic journey through gardens and trees.

Be sure to stop at the train-themed playground next door, which has a wooden train with carriage for kids to play on.

Operates on the 3rd Sunday of every month from 11am – 4pm.

Cost is $5 per person per ride. Children under 2 ride for free.

Box Hill Miniature Railway, 521 Bellmore Rd, Mont Albert North

Box Hill Miniature Railway5

7. Steam Locomotive Society of Victoria

The Steam Locomotive Society of Victoria is dedicated to preserving and showcasing the history of steam locomotives. This society operates a miniature railway at Moorabbin from 1:30 pm to 4:30 pm in the afternoon of the FIRST Sunday of every month except January.

*Update as of February 2023: Please note that Moorabbin Miniature Railway will not be opening for public running for the rest of 2023 but will continue to offer runs for booked parties on the 1st Sunday of each month except January.*
Steam Locomotive Society of Victoria, 128 Rowans Road, Moorabbin


Top 34 Train Experiences in Melbourne for Kids
Best Toy Stores
100 Free Things to do Melbourne

PIN this picture to save this post!

About Amy Gardner

Amy Gardner is a tourism communications consultant who loves epxloring Melbourne. As a new Mum she is passionate about local adventures and uncovering unique experiences of food, art, music and travel.

With a Bachelor of Business and over a decade of tourism industry experience, Amy has a strong passion for creating and promoting exceptional visitor experiences. On the side of her freelance digital marketing work, Amy has developed Seniors in Melbourne, Melbourne’s first travel website specifically targeting the senior demographic.

You can follow Amy on Instagram and LinkedIn

Discover Melbourne's top family fun in 5 minutes, for free

Our weekly newsletter brings busy parents and carers the best activities for kids in Melbourne + Victoria. It's your best 5-minute read for creating quality family time!

"*" indicates required fields

This field is for validation purposes and should be left unchanged.