Bus 158 in Toronto links Oak St at Weston Rd and Keelesdale Station. The route is 6.0 km long with 20 stops, and the official schedule from the Toronto Transit Commission puts the full trip at about 23 minutes. On a weekday it runs 85 trips in one direction, and 61 on a weekend day.

Route at a glance
| Mode | Bus |
|---|---|
| Route number | 158 |
| City | Toronto |
| Transit authority | the Toronto Transit Commission (TTC) |
| Start → end | Oak St at Weston Rd → Keelesdale Station |
| End → start | Keelesdale Station → Oak St at Weston Rd |
| Route length | 6.0 km / 6.8 km in the opposite direction |
| Number of stops | 20 / 23 in the opposite direction |
| Travel time | about 23 minutes |
| Trips per day | 85 on weekdays, 61 on weekends one way |
| Frequency | peak 10–15 · midday 15 · weekend 18 |
| First / last trip from «Oak St at Weston Rd» | 00:00 / 23:40 |
| First / last trip from «Keelesdale Station» | 00:00 / 23:40 |
| Fare | 3.35 $ |
| Updated | August 22, 2026 |
Route of Bus 158
Outbound: Oak St at Weston Rd → Keelesdale Station
This direction has 20 stops and runs 6.0 km. The route passes Weston Rd at St Phillips Rd, Weston Rd at Little Ave, Lawrence Ave West at Jane St, 665 Trethewey Dr. Below is the full list with the distance from the first stop.
| No. | Stop | From start | Note |
|---|---|---|---|
| 1 | Oak St at Weston Rd | 0.1 km | Terminus |
| 2 | Weston Rd at St Phillips Rd | 0.3 km | |
| 3 | Weston Rd at Coulter Ave | 0.7 km | |
| 4 | Weston Rd at Church St South Side | 1.1 km | |
| 5 | Weston Rd at Fern Ave South Side | 1.2 km | |
| 6 | Weston Rd at Little Ave | 1.5 km | |
| 7 | Lawrence Ave West at Weston Rd East Side | 1.9 km | |
| 8 | Lawrence Ave West at Ralph St – Weston GO Station | 2.2 km | |
| 9 | Lawrence Ave West at Pine St | 2.5 km | |
| 10 | Lawrence Ave West at Jane St | 2.8 km | |
| 11 | Jane St at Wright Ave | 3.1 km | |
| 12 | Jane St at Harding Ave | 3.2 km | |
| 13 | Trethewey Dr at Jane St East Side | 3.6 km | |
| 14 | 665 Trethewey Dr | 3.8 km | |
| 15 | Trethewey Dr at Brookhaven Dr | 4.2 km | |
| 16 | 555 Trethewey Dr | 4.4 km | |
| 17 | Trethewey Dr at Todd Baylis Blvd South Side | 4.7 km | |
| 18 | Trethewey Dr at Paulson Rd | 5.2 km | |
| 19 | Trethewey Dr at Greentree Crt | 5.6 km | |
| 20 | Keelesdale Station | 6.0 km | Terminus |
Inbound: Keelesdale Station → Oak St at Weston Rd
This direction has 23 stops and runs 6.8 km. The route passes Trethewey Dr at Clearview Hts, 665 Trethewey Dr, Lawrence Ave West at Pine St, Weston Rd at Church St. Below is the full list with the distance from the first stop.
| No. | Stop | From start | Note |
|---|---|---|---|
| 1 | Keelesdale Station | 0.0 km | Terminus |
| 2 | Trethewey Dr at Clearview Hts | 0.5 km | |
| 3 | Trethewey Dr at Paulson Rd | 0.8 km | |
| 4 | Trethewey Dr at Todd Baylis Blvd | 1.2 km | |
| 5 | 572 Trethewey Dr | 1.6 km | |
| 6 | Trethewey Dr at Brookhaven Dr | 1.8 km | |
| 7 | 665 Trethewey Dr | 2.1 km | |
| 8 | Trethewey Dr at Jane St | 2.5 km | |
| 9 | Jane St at Harding Ave | 2.7 km | |
| 10 | Jane St at Wright Ave | 2.9 km | |
| 11 | Lawrence Ave West at Jane St West Side | 3.2 km | |
| 12 | Lawrence Ave West at Pine St | 3.5 km | |
| 13 | Lawrence Ave West at Ralph St West Side | 3.8 km | |
| 14 | Lawrence Ave West at Weston Rd – Weston GO Station | 4.2 km | |
| 15 | Weston Rd at Elsmere Ave | 4.4 km | |
| 16 | Weston Rd at Fern Ave | 4.8 km | |
| 17 | Weston Rd at Church St | 5.0 km | |
| 18 | Weston Rd at Coulter Ave North Side | 5.2 km | |
| 19 | Weston Rd at St Phillips Rd | 5.6 km | |
| 20 | Weston Rd at Oak St North Side | 5.8 km | |
| 21 | Weston Rd at Cardell Ave | 6.1 km | |
| 22 | Knob Hill Dr at Weston Rd | 6.3 km | |
| 23 | Oak St at Weston Rd | 6.8 km | Terminus |
Schedule and frequency
According to the official schedule from the Toronto Transit Commission, the route runs 85 trips in one direction on a weekday, and 61 on a weekend day.
| Direction | Weekdays | Weekends and holidays |
|---|---|---|
| From «Oak St at Weston Rd» | 00:00 — 23:40 | 00:00 — 23:40 |
| From «Keelesdale Station» | 00:00 — 23:40 | 00:00 — 23:40 |
Frequency calculated from the departure table: in the morning peak buses run every 10–15 minutes, most often every 10; midday every 15 minutes; in the afternoon peak every 11–15; on weekends every 18 minutes.
Fare and payment
A single ride costs 3.35 $. The same fare applies to streetcars, buses and the subway in Toronto.
A cash fare is $3.35 and covers one ride only. Paying with a PRESTO card, debit or credit card costs $3.30 and includes two hours of unlimited transfers. A day pass is $13.50, a monthly adult pass $156.00. Transfers within 120 minutes are free. The two-hour transfer applies only to fares paid by card; a cash fare covers a single ride. An unlimited monthly pass costs $156.00.
Frequently asked questions
How much does a ride on bus 158 cost?
3.35 $ for a single ride.
When do the first and last trips run?
From Oak St at Weston Rd the first is at 00:00 and the last at 23:40. From Keelesdale Station they are 00:00 and 23:40.
How long does the trip from Oak St at Weston Rd to Keelesdale Station take?
About 23 minutes end to end — the median of full trips in the official schedule.
How many stops does the route have?
20 outbound and 23 inbound according to the official GTFS feed. The two lists do not match exactly.
Does bus 158 run on weekends?
Yes. On weekends and holidays there are 61 trips in one direction, running from Oak St at Weston Rd between 00:00 and 23:40.
Every route number with its termini, operating hours and travel time is collected in the Toronto buses overview.
Data current as of August 22, 2026. Schedule and termini — the Toronto Transit Commission (TTC). Fares — Toronto Transit Commission, Fares & passes. Stop list, schedule and route geometry come from the official GTFS feed (City of Toronto Open Data).