buses.appPerth public transport
331

Perth · bus timetable

Bus 331 Thomas St After Old Northam Rd Craig St After Nichol St

Bus Regular line Operator: Transperth

Line 331 runs between Thomas St After Old Northam Rd and Craig St After Nichol St; on weekdays the first departure is at 08:12 and the last at 15:29, 4 departures a day.

  • Headway~138 min
  • First departure08:05
  • Last departure18:39
  • Average ride~59 min
  • Stops78
  • Departures per day5
  • Route length41.3 km
  • Peak~66 min
  • Off-peak~18 min
  • Saturdaynot running
  • Sundaynot running

Bus of Perth public transport — connects Thomas St After Old Northam Rd and Craig St After Nichol St, with 78 stops per direction.The first departure is at 08:05, the last at 18:39.Departures run every ~138 min, and the ride takes ~59 min on average.

Routes in this direction

Most departures take route A. Some take a different route — pick one to see it on the map, in the timetable and in the stop list.

B next to a time = that departure takes this route

Timetable

First

08:05

Last

18:39

Departures

5

Line 331 timetable — on weekdays
0805
1323
1531
1612B
1839B

Line 331 does not run on Saturdays.

Line 331 does not run on Sundays and holidays.

Changed25.10.2026.
Checked25.10.2026.

Stops

78 stops~59 min in total
  1. Craig St After Nichol St

    #15056 — Craig St After Nichol St

    320321departure0min
  2. Mundaring Weir Rd After Craig St

    #15058 — Mundaring Weir Rd After Craig St

    320321+0 min0min
  3. Stoneville Rd After Great Eastern Hwy

    #26282 — Stoneville Rd After Great Eastern Hwy

    321+0 min0min
  4. Stoneville Rd After Hillcrest Rd

    #15108 — Stoneville Rd After Hillcrest Rd

    +2 min2min
  5. Stoneville Rd Before Milligan Rd

    #15109 — Stoneville Rd Before Milligan Rd

    +1 min3min
  6. Stoneville Rd After Henderson Rd

    #15110 — Stoneville Rd After Henderson Rd

    +1 min4min
  7. Richardson Rd After Stoneville Rd

    #22926 — Richardson Rd After Stoneville Rd

    +1 min5min
  8. Richardson Rd Before Ayres Rd

    #22925 — Richardson Rd Before Ayres Rd

    +0 min5min
  9. Ayres Rd After Richardson Rd

    #15121 — Ayres Rd After Richardson Rd

    328+1 min6min
  10. Ayres Rd After Grenville Rd

    #22346 — Ayres Rd After Grenville Rd

    328+0 min6min
  11. 328+0 min6min
  12. Bentley St After Hawke St

    #15126 — Bentley St After Hawke St

    328+1 min7min
  13. Bentley St Before Old Farm L

    #15127 — Bentley St Before Old Farm L

    328+0 min7min
  14. Bentley St Before Stoneville Rd

    #15128 — Bentley St Before Stoneville Rd

    328+1 min8min
  15. Stoneville Rd After Conradi Pl

    #15112 — Stoneville Rd After Conradi Pl

    328+1 min9min
  16. Traylen Rd After Stoneville Rd

    #15133 — Traylen Rd After Stoneville Rd

    328+0 min9min
  17. Traylen Rd Before Emmerson St

    #15134 — Traylen Rd Before Emmerson St

    328+0 min9min
  18. Traylen Rd After Emmerson St

    #15135 — Traylen Rd After Emmerson St

    328+1 min10min
  19. Kevin St After Traylen Rd

    #15149 — Kevin St After Traylen Rd

    328+0 min10min
  20. Osborne St After Kevin St

    #15151 — Osborne St After Kevin St

    328+0 min10min
  21. Osborne St Before Short St

    #15152 — Osborne St Before Short St

    328+1 min11min
  22. Osborne St After Short St

    #15153 — Osborne St After Short St

    328+1 min12min
  23. Stretch Rd After Bedford St

    #15156 — Stretch Rd After Bedford St

    328+0 min12min
  24. Stretch Rd Before Binder St

    #15157 — Stretch Rd Before Binder St

    328+1 min13min
  25. 328+1 min14min
  26. 328+0 min14min
  27. Keane St After Mcvicar Pl

    #15163 — Keane St After Mcvicar Pl

    328+1 min15min
  28. Sawyers Rd After Keane St

    #15143 — Sawyers Rd After Keane St

    328+0 min15min
  29. Evans St After Marquis St

    #15175 — Evans St After Marquis St

    +0 min15min
  30. Dibble St After Evans St

    #15173 — Dibble St After Evans St

    +1 min16min
  31. +1 min17min
  32. Princess Rd After Dibble St

    #15168 — Princess Rd After Dibble St

    +1 min18min
  33. Princess Rd Before Cook St

    #15169 — Princess Rd Before Cook St

    +0 min18min
  34. Cook St Before Samuel St

    #15176 — Cook St Before Samuel St

    +0 min18min
  35. Cook St Before Alison St

    #15177 — Cook St Before Alison St

    +1 min19min
  36. Cook St After Grahame St

    #15178 — Cook St After Grahame St

    +0 min19min
  37. Chidlow St After Tobin St

    #15182 — Chidlow St After Tobin St

    +0 min19min
  38. Chidlow St After Kingswood St

    #15183 — Chidlow St After Kingswood St

    +1 min20min
  39. Chidlow St After Austin Cl

    #15184 — Chidlow St After Austin Cl

    +0 min20min
  40. Keane St After Chidlow St

    #15187 — Keane St After Chidlow St

    328+1 min21min
  41. Elliott Rd After Lion St

    #15190 — Elliott Rd After Lion St

    328+0 min21min
  42. Elliott Rd Before Bernard St

    #23002 — Elliott Rd Before Bernard St

    328+1 min22min
  43. Elliott Rd After Bernard St

    #23182 — Elliott Rd After Bernard St

    328+1 min23min
  44. Elliott Rd After Wilkins Rd

    #15191 — Elliott Rd After Wilkins Rd

    328+1 min24min
  45. Elliott Rd After Silia Rtt

    #26358 — Elliott Rd After Silia Rtt

    328+1 min25min
  46. Elliott Rd Before Sime Rd

    #15192 — Elliott Rd Before Sime Rd

    328+1 min26min
  47. Elliott Rd Before Mathieson Rd

    #15193 — Elliott Rd Before Mathieson Rd

    328+1 min27min
  48. Elliott Rd Before Thomas St

    #15195 — Elliott Rd Before Thomas St

    328+1 min28min
  49. Thomas St After Reservoir St

    #15204 — Thomas St After Reservoir St

    328+1 min29min
  50. Thomas St After Pennell St

    #15205 — Thomas St After Pennell St

    328+1 min30min
  51. Memorial Av After Thomas St

    #15209 — Memorial Av After Thomas St

    328+1 min31min
  52. Willcox St After Lilydale Rd

    #15210 — Willcox St After Lilydale Rd

    328+0 min31min
  53. Old Northam Rd After Clifton St

    #15211 — Old Northam Rd After Clifton St

    +0 min31min
  54. Old Northam Rd After Stone St

    #15212 — Old Northam Rd After Stone St

    +2 min33min
  55. Old Northam Rd Before Forge Dr

    #15213 — Old Northam Rd Before Forge Dr

    +0 min33min
  56. Old Northam Rd Before Haigh Rd

    #28776 — Old Northam Rd Before Haigh Rd

    +1 min34min
  57. Old Northam Rd After Haigh Rd

    #15214 — Old Northam Rd After Haigh Rd

    +0 min34min
  58. Old Northam Rd After Doconing Rd

    #23183 — Old Northam Rd After Doconing Rd

    +1 min35min
  59. Old Northam Rd After Hinkler Rd

    #15215 — Old Northam Rd After Hinkler Rd

    +1 min36min
  60. Government Rd Before Jason St

    #15220 — Government Rd Before Jason St

    +2 min38min
  61. Government Rd After Jason St

    #15221 — Government Rd After Jason St

    +1 min39min
  62. Wilson St After Needham Rd

    #15225 — Wilson St After Needham Rd

    +1 min40min
  63. Wilson St After Wishart St

    #15226 — Wilson St After Wishart St

    +0 min40min
  64. Bailup Rd Before Government Rd

    #15227 — Bailup Rd Before Government Rd

    +1 min41min
  65. Government Rd After Orchard Rd

    #15222 — Government Rd After Orchard Rd

    +0 min41min
  66. Werribee Rd After Allen St

    #15228 — Werribee Rd After Allen St

    +4 min45min
  67. Werribee Rd Before Chedaring Rd

    #15229 — Werribee Rd Before Chedaring Rd

    +3 min48min
  68. Werribee Rd After Doys Rd

    #15230 — Werribee Rd After Doys Rd

    +3 min51min
  69. Werribee Rd Before Retort Cl

    #28250 — Werribee Rd Before Retort Cl

    +1 min52min
  70. Werribee Rd After Mcmullen Rd

    #15231 — Werribee Rd After Mcmullen Rd

    +1 min53min
  71. Werribee Rd Before Vineyard Rd

    #15232 — Werribee Rd Before Vineyard Rd

    +1 min54min
  72. Werribee Rd Before Hawke Av

    #15233 — Werribee Rd Before Hawke Av

    +1 min55min
  73. Hawke Av After Werribee Rd

    #15239 — Hawke Av After Werribee Rd

    +1 min56min
  74. Banksia Av After Kingia Rd

    #15245 — Banksia Av After Kingia Rd

    +1 min57min
  75. Zamia Tce After Boronia Av

    #15248 — Zamia Tce After Boronia Av

    +0 min57min
  76. Hovea Cr After Zamia Tce

    #15246 — Hovea Cr After Zamia Tce

    +0 min57min
  77. Boronia Av After Banksia Av

    #15243 — Boronia Av After Banksia Av

    +1 min58min
  78. Hawke Av Before Boronia Av

    #15240 — Hawke Av Before Boronia Av

    +1 min59min

Frequently asked questions

When are the first and last departures of line 331?

On weekdays the first departure from Craig St After Nichol St is at 08:05 and the last at 18:39. There are 5 departures in total.

Does line 331 run on weekends?

No, there are no published weekend departures.

Does line 331 run on Sundays?

No. The current timetable has no Sunday departures for line 331.

How often does line 331 run?

Departures run about every 138 minutes (median headway between 06:00 and 21:00 on weekdays). It is denser at peak and sparser in the evening and at weekends.

How long is the ride on line 331?

The whole ride takes about 59 minutes on average — from about 18 minutes off-peak to about 66 minutes at peak.

How many stops does line 331 have?

In the Craig St After Nichol St → Hawke Av Before Boronia Av direction, line 331 has 78 stops.

How long is the route of line 331?

The route in this direction is about 41.3 km long.