A recent comment sent me looking for service levels early in the TTC’s existence (post 1921), and I was pleasantly surprised to rediscover that this information is in a book, now long out-of-print, by John F. Bromley called TTC ’28. This book provides a view of the system when the electric street railway in Toronto was at its height.

In a recent presentation to the TTC Board, staff argued that the streetcars were an integral part of the growth of Toronto, but their viewpoint was comparatively recent, from the 1950s onward, and even that did not fully show the former extent of the transit network which was once almost entirely operated with streetcars.

I often get questions about the streetcar system as it was, and this article is intended to consolidate the bits and pieces in one place. The route histories will give some indication of why there is so much streetcar track in apparently odd places today. Remember also that the downtown one-way streets date from the 1950s when the DVP/Gardiner recruited several streets as on/off ramps to the expressway network and “optimised” them for use by motorists.

Information for 1928 is taken mainly from Bromley’s book. Other sources are Rails From The Junction by James V. Salmon, Riding the Radials by Robert M. Stamp, and The Toronto Trolley Car Story by Louis H. Pursley.

The following map shows TTC routes in August 1928. It was scanned by Pete Coulman from a guidebook, and the original scan lives on the TransitToronto website’s maps page.

Only a few routes on this map are bus operations, generally small lines on the periphery of the system.

Serving Downtown

Anyone born in the past half-century is used to the idea that the Yonge-University and Bloor-Danforth subways (now known as Lines 1 and 2 respectively) provide the lion’s share of transit capacity into the core area, supplemented by the streetcar network and GO Transit. However, before the subways opened, their role was provided not just by streetcars on their namesake streets, but on parallel routes that fed into a common area. This was an essential part of service design not simply to spread out the network through many neighbourhoods, but because all of the streetcars needed to serve the core could not fit onto one street.

“Downtown” was quite different from the area we think of today, and much of the development was concentrated south of Dundas with areas to the north more residential than commercial. Construction of Eaton’s College Street store began in 1928, and it was thought to be a huge risk building so far away from downtown. The building is much smaller than original plans because of the combined effect of its location and the recession.

The land around the port and the railway corridor was used mainly for industrial purposes, and the large workforce in these areas required a lot of transit service. This land is now home to tens of thousands as the condo boom recycles the old city and changes travel demands.

Services to downtown in 1928:

Bathurst cars ran south from Vaughan Loop at St. Clair to Front, then east to Frederick Loop at Sherbourne Street. (Although there was track linking Bathurst to the Exhibition ground, it was used only during special events such as the CNE or Royal Winter Fair.)

Bathurst trippers (peak period cars) ran from Caledonia Loop on St. Clair east to Vaughan/Bathurst, south to Adelaide and then east to Church.

Bay cars ran from Caledonia Loop on St. Clair east to Avenue Road, then south to Bloor, east to Bay and south to Ferry Loop (York & Queens Quay where the circular ramp from the Gardiner is today).

Beach cars ran between Neville Loop on Queen to Sunnyside Loop west of Roncesvalles. Today the route is 501 Queen.

Beach trippers ran from Neville Loop to King & Bay looping via Bay, Wellington and Sherbourne. Today’s 503 Kingston Road Tripper is a descendant of this route.

Queen cars ran initially from Bingham Loop on Kingston Road (still in use by routes 502, 503 and 12) looping downtown via Victoria, Richmond and York. During 1928, service was extended east to Birchmount Loop, but streetcar service was cut back to the City of Toronto boundary in 1954 with the creation of “Metro Toronto”. Today’s 502 Downtowner is a descendent of this route.

Bloor cars ran between Luttrell Loop (between Dawes Road and Victoria Park on Danforth) and Jane Loop (south side of Bloor opposite the foot of Jane Street).

Danforth trippers ran from Luttrell Loop west to Church & Bloor, then south to Queen looping via Queen, York and Richmond.

Carlton cars ran between Luttrell Loop and High Park over almost the same route as today’s 506 Carlton. College Street ended at Lansdowne, and so streetcars jogged south to Dundas to continue their trip west.

Carlton tripper cars followed the east end route to Parliament, then jogged south to Dundas and west to loop via Victoria, Adelaide and Church.

Church cars began at Christie Loop (corner of Dupont & Christie) and ran east via Dupont, Avenue Road and Bloor to Church, then south to loop via Front, Yonge and Wellington.

College cars took a rather scenic route from Royce Loop (southeast corner of what is now Lansdowne & Dupont, formerly Royce Street) via Lansdowne, College, Bay, Dundas, Broadview, Gerrard, Carlaw, Riverdale and Pape to Lipton Loop (current site of Pape Station).

Harbord cars also originated at Royce Loop, but took a different route into downtown via Lansdowne, Lappin, Dufferin, Hallam, Ossington, Harbord, Spadina and Adelaide to Church looping via Richmond and Victoria. Sunday service followed much of the College route from downtown to Lipton Loop. This evolved eventually into a consolidated Harbord route which was its form until 1966 when the BD subway opened.

College trippers ran from Royce Loop to College and McCaul where they turned south and then east to York looping via Richmond, Bay and Adelaide.

Dovercourt cars ran from Townsley Loop at St. Clair & Old Weston Road (the loop still exists as the western terminus of 127 Davenport) then later in 1928 from Prescott Loop (a small parkette west of the railway at Caledonia). They operated via Old Weston, Davenport, Dovercourt, College, Ossington, Queen, Shaw to loop via Adelaide, Crawford and King. This route served the Massey-Ferguson industrial district which is now the eastern part of Liberty Village. Peak period service extended via King looping via Church, Front and George Streets. The most substantial remnant of the Dovercourt car is the 63 Ossington bus which was once operated with trolley coaches taking advantage of the electrical system already in place.

Dovercourt Trippers originated at Davenport & Dovercourt (reversing using the wye at that location as there was no loop) and followed the main route to King & Church.

Dundas cars operated between Runnymede Loop (now the western terminus of 40 Junction) and City Hall Loop (from Bay via Louisa, James and Albert Streets). This route has operated through to Broadview Station (now as the 505) ever since part of City Hall Loop disappeared under the Eaton Centre development.

King cars operated over essentially the same route as they do today between Vincent Loop (across the street from Dundas West Station) and Erindale Loop (one block north of Broadview Station). Peak service was extended in the west to Jane Loop and in the east to Danforth & Coxwell with some trippers looping downtown via Sherbourne, Front and Bay.

Parliament cars ran from Viaduct Loop (now a parkette at Bloor & Parliament) south to Queen then west to loop via Church, Richmond and Victoria.

Sherbourne cars ran from Rosedale Loop (at Rachael Street) south to King and then west to York and Front to Station Loop (Simcoe, Station and York Streets). Peak service operated east to Danforth & Coxwell rather than to Rosedale Loop.

Spadina operated with double-end cars between crossovers at Bloor and Front.

Yonge cars operated between Glen Echo Loop (east side of Yonge, just before the hill down to Hogg’s Hollow, the originally proposed name for York Mills Station) and Station Loop. Short turn services operated as far north as Lawton Loop (now a parkette on the west side of Yonge north of Heath Street) and AM peak trippers originated at Eglinton Carhouse (of which parts remain in the bus garage now recycled into a “temporary” bus terminal).

This is a huge number of routes that collectively linked the commercial and industrial core of Toronto to the residential neighbourhoods, some of which were comparatively recent “suburbs”.

The level of service was equally impressive. In the table below, numbers under “Two-Car Trains” give the number of trains (a motor car plus a trailer) operated followed by the total number of runs so that, for example, the Beach car has 44 runs of which 37 operated with trailers.

Route PM Peak Two-Car Headway Trains Bathurst 2'00" 3/30 Bathurst Tripper 5'00" 9/14 Bay 1'15" Beach 2'30" 37/44 Beach Tripper 3'00" Bloor 3'00" All 41 Carlton 3'00" Carlton Tripper 4'00" 14/17 Church 4'00" College 4'00" 2/23 College Tripper 7'00" Danforth Tripper 7'30" 7/10 Dovercourt 2'45" Dovercourt Tripper 4'00" Dundas 2'00" Harbord 2'30" King 2'00" 31/54 King Rush 4'00" Parliament 3'00" Queen 5'00" 16/17 Queen Tripper 5'00" Sherbourne Tripper 2'45" 10/26 Spadina 2'45" Yonge 1'45" All 42

The West End and Suburbs



In addition to many routes listed above, a few were entirely “local” to their areas, and others were part of separate suburban network, the lines called “radials” that had been built separately from the “city” system.

The Davenport route was a remnant of a longer route on the Toronto Suburban Railway, but by 1928 was reduced to operating a shuttle service from Bathurst to Dovercourt. It survived until 1940 when it was replaced by a bus.

Lansdowne operated as two separate routes because of the railway level crossing (now an underpass) north of Dupont (Royce). The Lansdowne North route operated as a shuttle from St. Clair to the north side of the railway. Service from Royce Loop southward was provided by the College car weekdays and Saturdays, but there was a Lansdowne South Sunday service from Royce Loop to Dundas.

The TTC operated routes for York Township under contract.

Oakwood cars operated from Oakwood Loop at St. Clair (still existing) north to Eglinton and west to Gilbert Loop (west of Caledonia Road).

Rogers Road cars also operated from Oakwood Loop north to Rogers and west to Bicknell Loop (east of Weston Road).

Lambton cars, a remnant of the Toronto Suburban Railway, operated from Runnymede Loop west to Lambton Park. The line did not carry well, and it was converted to a bus route in August 1928.

Weston Road cars operated from Keele & Dundas north to Humber Street in Weston. This was another TSR line that originally had operated to Woodbridge (1914-1926). The line was converted to TTC gauge in stages, and for a time ended at a loop at Northland Avenue (at the City limits).

The Oakwood and Rogers routes eventually became trolley coach lines as part of what is now 63 Ossington, although Rogers Road has been extended and split off from Ossington for many years. The Weston Road route also became a trolley coach, although streetcar service remained as a peak-only extension of St. Clair until 1966. That extension was not possible until the opening of the “St. Clair Subway” under the Weston rail corridor in 1932, and the streetcars originally operated to Northland Loop. That is the reason why St. Clair cars were signed “Northland” even after they were extended to Avon Loop at Rogers Road.

Another leftover from the radial system was the line on Lake Shore Boulevard West.

Mimico cars operated from Roncesvalles Carhouse via the old trackage on Lake Shore (pre-Gardiner Expressway) west to Stavebank Road, just east of the Credit River in Port Credit. In the fall of 1928, the city trackage was extended to Long Branch, and the “Mimico” route disappeared. “Port Credit” cars ran on the remaining “radial” line until February 1935.

Updated: I have been remiss when listing routes operating in 1928 by omitting the Toronto Suburban’s line to Guelph. This was not a TTC operation, but remained part of CN’s electric operations to the end.



The line began at Keele & St. Clair, but was abandoned in 1931. This electric railway was never extended into downtown and suffered from its “suburban” nature even though its terminus was on the CN corridor now used by GO’s Kitchener-Waterloo service. The small station building remained for decades after. A fragment of the line still sees streetcar operation as the Halton County Radial Railway museum.

The East End and Suburbs

Most of the services in the east end ran to the downtown area and they are included in the main list above.

Coxwell cars shuttled between Danforth and Queen with Sunday/Holiday service extended via Queen and Kingston Road to Bingham Loop. This route exists almost unchanged today.

Service on Kingston Road east of Victoria Park was provided by the Scarboro radial car to a point east of Morningside Avenue where Kingston Road and Old Kingston Road diverge today. In late 1928, the line was double-tracked to Birchmount, the city routes were extended into Scarborough and the radial service operated from there east. Rail service ended in two stages: east of Scarborough Post Office in 1930, and the rest of the line in 1936 to allow highway widening.

The North End and Suburbs

The northernmost of the remaining streetcar lines is on St. Clair. In 1928, it operated from Caledonia Loop to Mt. Pleasant Loop at Eglinton, although service on St. Clair was also provided by the Bay and Bathurst cars west to Caledonia (see above). Eventually, the line was extended west to Keele Loop (replaced now by Gunn’s Loop) when the underpasses at Caledonia (1931) and at Weston Road (1932) opened. Caledonia and Prescott Loops were no longer needed.

By far the most extensive of the radial lines was the Metropolitan Division of the Toronto & York Radial Railway. This was not taken over by the TTC until 1927. Cars ran from Glen Echo Terminal north to Richmond Hill and Lake Simcoe with the line ending in Sutton. Service operated every 15-20 minutes during peak periods to/from Richmond Hill with some cars running through to Newmarket every 45-60 minutes all day. Cars to and from Sutton operated every two hours or so leaving from Sutton between 5:50 am and 10:25 pm with a running time of 2 hours and 25 minutes. The Lake Simcoe route was cut back to Richmond Hill in 1930.