# List of Via Rail routes

Via Rail operates 497 trains per week over nineteen routes. Via groups these routes into three broad categories:
* "Rapid Intercity Travel": daytime services over the Corridor between Ontario and Quebec. The vast majority of Via's trains–429 per week–operate here.
* "Long-distance travel and tourism": the famous Canadian and Ocean, providing traditional transcontinental service.
* "Mandatory Services": rural services mandated by the Canadian Government for areas which otherwise lack reasonable year-round transportation.

## Current routes

| Name | Route | Route numbers | Notes |
| Canadian | Toronto – Vancouver | Westbound: 1 Eastbound: 2 | |
| Ocean | Montreal – Halifax | Westbound: 15 Eastbound: 14 | |
| Québec City–Windsor Corridor | Toronto – Kingston – Montreal | Westbound: 61, 63, 65, 67, 69, 669 Eastbound: 60, 62, 64, 66, 68, 668 | |
| Québec City–Windsor Corridor | Toronto – Kingston – Ottawa | Westbound: 41, 45, 47, 53, 55, 59, 643, 645 Eastbound: 40, 42, 44, 46, 48, 50, 52, 54 | |
| Québec City–Windsor Corridor | Ottawa – Montreal – Québec City | Westbound: 29, 31, 33, 35, 37, 39, 633 Eastbound: 20, 22, 24, 26, 28, 38, 622 | |
| Québec City–Windsor Corridor | Toronto – Niagara Falls – New York (Maple Leaf) | Southbound: 97 Northbound: 98 | Operated by Amtrak while in the US |
| Québec City–Windsor Corridor | Sarnia – London – Toronto | Westbound: 87 Eastbound: 84 | |
| Québec City–Windsor Corridor | Windsor – London – Toronto | Westbound: 71, 73, 75, 79 Eastbound: 70, 72, 76, 78 | |
| Jasper–Prince Rupert | Jasper – Prince Rupert | Westbound: 5 Eastbound: 6 | Formerly the Skeena and Panorama |
| Montreal–Jonquière | Montreal – Jonquière | Southbound: 600, 602 Northbound: 601 | Formerly the Saguenay |
| Montreal–Senneterre | Montreal – Senneterre | Southbound: 604, 606 Northbound: 603 | Formerly the Abitibi |
| Sudbury–White River | Sudbury – White River | Westbound: 186 Eastbound: 185 | Formerly the Lake Superior |
| Winnipeg–Churchill | Winnipeg – Churchill | Southbound: 690, 692 Northbound: 691, 693 | Formerly the Hudson Bay and Northern Spirits |
| The Pas–Pukatawagan | The Pas – Pukatawagan | Southbound: 290 Northbound: 291 | Operated by the Keewatin Railway |

## Full listing
### Intercity routes

Transferred from Canadian National Railway (CN) Transferred from CP Rail (now Canadian Pacific Kansas City) Active route
| Name(s) | Route | First service | Last service | Notes |
| Atlantic Limited | Montreal – Sherbrooke – Saint John | October 29, 1978 | June 16, 1979 | Renamed as Atlantic |
| Atlantic | Montreal – Sherbrooke – Saint John | June 17, 1979 | October 27, 1979 | Extended to Halifax |
| Atlantic | Montreal – Sherbrooke – Saint John – Moncton – Halifax | October 28, 1979 | November 14, 1981 | |
| Atlantic | Montreal – Sherbrooke – Saint John – Moncton – Halifax | June 1, 1985 | December 16, 1994 | |
| Bras d'Or | Halifax – Sydney | 2000 | 2004 | Weekly summer tourist train |
| Calgary–South Edmonton | Calgary – Edmonton | October 29, 1978 | October 26, 1985 | |
| Campbellton–Moncton | Campbellton – Moncton | October 28, 1979 | January 14, 1990 | |
| Capreol–Winnipeg | Capreol – Hornepayne – Nakina | April 1, 1978 | September 28, 1980 | |
| Capreol–Winnipeg | Sioux Lookout – Winnipeg | April 1, 1978 | September 28, 1980 | Extended to Armstrong |
| Capreol–Winnipeg | Armstrong – Sioux Lookout – Winnipeg | September 29, 1980 | November 14, 1981 | |
| Capreol–Winnipeg | Capreol – Hornepayne – Nakina – Armstrong – Sioux Lookout – Winnipeg | October 28, 1979 | May 31, 1981 | Briefly rolled into the Super Continental during 1981 |
| Capreol–Winnipeg | Capreol – Hornepayne – Nakina – Armstrong – Sioux Lookout – Winnipeg | November 15, 1981 | January 14, 1990 | Subsumed by the Canadian |
| Capreol–Winnipeg | Capreol – Hornepayne | June 1, 1981 | November 14, 1981 | |
| Capreol–Winnipeg | Farlane – Winnipeg | | | Seasonal train |
| Chambord–Dolbeau | Chambord – Dolbeau | April 1, 1978 | June 16, 1979 | |
| Chaleur | Montreal – Gaspé | April 1, 1978 | April 30, 2009 | Name dropped |
| Montreal–Gaspé | Montreal – Gaspé | May 1, 2009 | August 2013 | |
| Edmonton–Drumheller | Edmonton – Drumheller | April 1, 1978 | November 14, 1981 | Now partially served by Alberta Prairie Railway Excursions |
| Edmundston–Sainte-Foy | Edmundston – Sainte-Foy | April 1, 1978 | October 27, 1979 | |
| Enterprise | Toronto – Montreal | January 16, 2000 | October 29, 2005 | Night train |
| Evangeline | Halifax – Yarmouth | October 29, 1978 | January 14, 1990 | |
| Flin Flon–Osborne Lake | Flin Flon – Osborne Lake | April 1, 1978 | October 27, 1979 | |
| Halifax–Fredericton | Moncton – Saint John | April 1, 1978 | October 27, 1979 | Extended to Halifax |
| Halifax–Fredericton | Halifax – Moncton – Saint John | October 28, 1979 | November 14, 1981 | Extended to Fredericton |
| Halifax–Fredericton | Halifax – Moncton – Saint John | June 1, 1985 | January 14, 1990 | |
| Halifax–Fredericton | Halifax – Moncton – Saint John – Fredericton | November 15, 1981 | May 31, 1985 | Truncated back to Saint John |
| Halifax–Sydney | Halifax – Sydney | April 1, 1978 | January 14, 1990 | |
| Havelock–Toronto | Havelock – Peterborough – Toronto | October 29, 1978 | January 14, 1990 | |
| Hearst–Nakina | Hearst – Nakina | April 1, 1978 | May 31, 1986 | |
| Hornepayne–Manitouwadge | Hornepayne – Manitouwadge | April 1, 1978 | April 26, 1980 | |
| International Limited | Toronto – Chicago | October 31, 1982 | June 12, 1983 | Operated by Amtrak in the US. Renamed as International |
| International | Toronto – Chicago | June 13, 1983 | April 23, 2004 | Operated by Amtrak in the US |
| Jasper–Prince Rupert | Jasper – Prince Rupert | April 1, 1978 | June 16, 1979 | Named as Skeena |
| Jasper–Prince Rupert | Jasper – Prince Rupert | May 1, 2009 | Present | |
| Skeena | Jasper – Prince Rupert | June 17, 1979 | November 14, 1981 | Extended to Edmonton |
| Skeena | Jasper – Prince Rupert | April 30, 1989 | April 30, 2009 | Name dropped |
| Skeena | Edmonton – Jasper – Prince Rupert | November 15, 1981 | June 2, 1984 | Extended to Winnipeg and renamed as Panorama |
| Skeena | Edmonton – Jasper – Prince Rupert | June 1, 1985 | April 29, 1989 | Truncated back to Jasper |
| Panorama | Winnipeg – Saskatoon – Edmonton – Jasper – Prince Rupert | June 3, 1984 | May 31, 1985 | Reverted to Skeena name and route |
| Limoilou–Rivière-à-Pierre | Limoilou, Quebec City – Rivière-à-Pierre | April 1, 1978 | June 16, 1979 | Replaced by Sainte-Foy–Rivière-à-Pierre train |
| Sainte-Foy–Rivière-à-Pierre | Sainte-Foy – Rivière-à-Pierre | October 28, 1979 | February 2, 1980 | |
| Toronto–Niagara Falls | Toronto – Niagara Falls | April 1, 1978 | January 18, 1992 | Renamed as General Brock |
| Toronto–Niagara Falls | Toronto – Niagara Falls | November 23, 1997 | December 9, 2012 | Service continued by the Maple Leaf and Lakeshore West line |
| General Brock | Toronto – Niagara Falls | January 19, 1992 | November 22, 1997 | Name dropped |
| Toronto–North Bay | Toronto – North Bay | April 1, 1978 | January 14, 1990 | |
| Maple Leaf | Toronto – Niagara Falls – New York | April 26, 1981 | Present | Operated by Amtrak in the US |
| Moncton–Edmundston | Moncton – Edmundston | April 1, 1978 | November 14, 1981 | |
| Moncton–Edmundston | Moncton – Edmundston | October 28, 1984 | January 14, 1990 | |
| Montreal–Chicoutimi | Montreal – Hervey – Rivière-à-Pierre – Chambord – Jonquière – Chicoutimi | April 1, 1978 | April 30, 1988 | Truncated to Jonquière |
| Saguenay | Montreal – Hervey – Rivière-à-Pierre – Chambord – Jonquière | April 25, 1993 | April 30, 2009 | Name dropped |
| Montreal–Jonquière | Montreal – Hervey – Rivière-à-Pierre – Chambord – Jonquière | May 1, 1988 | April 24, 1993 | Named as Saguenay |
| Montreal–Jonquière | Montreal – Hervey – Rivière-à-Pierre – Chambord – Jonquière | May 1, 2009 | Present | |
| Sainte-Foy–Cochrane | Sainte-Foy – Senneterre – Cochrane | April 1, 1978 | | |
| Abitibi | Montreal – Hervey – Senneterre | April 25, 1993 | April 30, 2009 | Name dropped |
| Montreal–Senneterre | Montreal – Hervey – Senneterre | May 1, 2009 | Present | |
| Montreal–Sherbrooke | Montreal – Sherbrooke | April 1, 1978 | October 30, 1982 | |
| Ocean | Montreal – Halifax | April 1, 1978 | Present | |
| Ottawa–Sudbury | Ottawa – Sudbury | November 15, 1981 | May 31, 1985 | Replaced a section of the Canadian when it was rerouted through Toronto following the first cancellation of the Super Continental |
| Saint-Laurent | Montreal – Mont-Joli | October 28, 1979 | May 28, 1983 | |
| Saint-Laurent | Quebec City – Mont-Joli | June 1, 1985 | January 14, 1990 | |
| Regina–Prince Albert | Regina – Saskatoon – Prince Albert | April 1, 1978 | November 14, 1981 | |
| Winnipeg–Saskatoon | Winnipeg – Regina – Saskatoon | November 15, 1981 | June 2, 1984 | Replaced a section of the cancelled Super Continental. Subsumed by the Panorama |
| Saskatoon–Edmonton | Saskatoon – Edmonton | November 15, 1981 | June 2, 1984 | Replaced a section of the cancelled Super Continental. Subsumed by the Panorama |
| Saskatoon–The Pas | Saskatoon – The Pas | April 1, 1978 | April 26, 1980 | |
| Scotian | Montreal – Campbellton – Halifax | April 1, 1978 | October 27, 1979 | Same route as the Ocean but with more stops |
| Senneterre–Rouyn-Noranda | Senneterre – Rouyn-Noranda | April 1, 1978 | June 16, 1979 | |
| Lake Superior | Sudbury – White River | April 28, 1996 | April 30, 2009 | Name dropped |
| Sudbury–White River | Sudbury – White River | October 29, 1978 | April 27, 1996 | Named as Lake Superior |
| Sudbury–White River | Sudbury – White River | May 1, 2009 | Present | |
| Canadian | Toronto – Sudbury – White River – Winnipeg – Regina – Calgary – Banff – Vancouver | October 29, 1978 | June 16, 1979 | Exchanged sleeper cars with the Super Continental at Winnipeg |
| Canadian | Montreal – Ottawa – Sudbury – White River – Winnipeg – Regina – Calgary – Banff – Vancouver | June 17, 1979 | October 27, 1979 | Exchanged sleeper cars with the Super Continental at Winnipeg |
| Canadian | Montreal – Toronto – Sudbury – White River – Winnipeg – Regina – Calgary – Banff – Vancouver | November 15, 1981 | May 31, 1985 | |
| Canadian | Montreal – Ottawa – Sudbury – / Toronto – Sudbury – White River – Winnipeg – Regina – Calgary – Banff – Vancouver | June 1, 1985 | January 14, 1990 | Montreal and Toronto sections, divided at Sudbury |
| Canadian | Toronto – Sudbury Junction – Sioux Lookout – Winnipeg – Saskatoon – Edmonton – Jasper – Vancouver | January 15, 1990 | Present | |
| Super Continental | Montreal – Ottawa – Sioux Lookout – Winnipeg – Saskatoon – Edmonton – Jasper – Vancouver | April 1, 1978 | June 16, 1979 | Exchanged sleeper cars with the Canadian at Winnipeg |
| Super Continental | Toronto – Sioux Lookout – Winnipeg – Saskatoon – Edmonton – Jasper – Vancouver | June 17, 1979 | October 27, 1979 | Exchanged sleeper cars with the Canadian at Winnipeg |
| Super Continental | Toronto – Sioux Lookout – Winnipeg – Saskatoon – Edmonton – Jasper – Vancouver | June 1, 1981 | November 14, 1981 | Exchanged sleeper cars with the Canadian at Winnipeg. Discontinued for the first time |
| Super Continental | Toronto – Sudbury – White River – Winnipeg – Saskatoon – Edmonton – Jasper – Vancouver | October 28, 1979 | May 31, 1981 | Combined with the Canadian between Sudbury and Winnipeg. Exchanged sleeper cars with the Canadian at Winnipeg |
| Super Continental | Winnipeg – Vancouver | June 1, 1985 | January 14, 1990 | Discontinued for the second and final time |
| The Pas–Lynn Lake | The Pas – Pukatawagan – Lynn Lake | April 1, 1978 | May 22, 2004 | Truncated to Pukatawagan |
| The Pas–Pukatawagan | The Pas – Pukatawagan | May 23, 2004 | Present | Runs over the Keewatin Railway |
| Thunder Bay–Sioux Lookout | Thunder Bay – Sioux Lookout | April 1, 1978 | May 31, 1986 | |
| Toronto–Barrie | Toronto – Barrie | April 1, 1978 | September 3, 1982 | Replaced by the Bradford line (now the Barrie line) |
| Toronto–Stouffville | Toronto – Stouffville | April 1, 1978 | September 3, 1982 | Replaced by the Stouffville line |
| Malahat | Victoria – Courtenay | October 29, 1978 | April 30, 2009 | Name dropped |
| Victoria–Courtenay | Victoria – Courtenay | May 1, 2009 | March 19, 2011 | |
| Winnipeg–Churchill, Hudson Bay, Northern Spirits | Winnipeg – The Pas – Churchill | April 1, 1978 | Present | |

### Commuter routes

Via operated some grandfathered commuter passenger routes from CN and CP from 1977 until financial constraints led to cuts in 1981. A few became provincial commuter rail lines after transfer from Canadian National Railways or Canadian Pacific Railway.
| Route | Original Operator | Notes |
| CN Uxbridge Subdivision (Stouffville line) | CN | Toronto to Stouffville service by CN from 1971 to 1977, Via until 1981 and was restored by GO Transit in 1982 |
| Guelph Subdivision(Toronto - Stratford/Georgetown) | CN | Never transferred to Via in 1977 but became GO Georgetown line in 1974. Extended to Guelph 1990 to 1993 (cut back to Georgetown by provincial cuts) and extended to Kitchener (line renamed) since 2011 |
| Barrie line | CN | Began by CN Toronto-Barrie from 1972 to 1977, transferred to Via 1977 and became GO line to Bradford/Newmarket only from 1982 to 1990 and again from 1993 to 2008, extended to Barrie from 1990 to 1993 and since 2008 (now to Allendale) |
| CP Havelock Subdivision (Havelock/Peterborough) | CP | Retained as CP freight subdivision and now used by Kawartha Lakes Railway |
| Streetsville | CP | Abandoned in 1971 and partially restored as GO Milton line 1981 |
| Lakeshore West | CP | Transferred from Via to STCUM in 1982 and then to AMT in 1996, now Exo |
| Deux-Montagnes line | CN | Transferred from Via to STCUM in 1982 and then to AMT in 1996. Last operated by Exo. Ceased operations in 2020 and replaced in 2023 by Réseau express métropolitain (REM) light metro line. |
| Saint-Jérôme line | CP | Transferred from CP to Via in 1977 but abandoned 1981. Restored by AMT in 1997, now Exo. |
| Mont-Saint-Hilaire line | CN | Never transferred to Via and operated by CN until 1988 and later restored by AMT in 2000, now Exo. |