The following is a compilation of notable Canadian Premier League records and statistics for teams and players. The Canadian Premier League includes statistics from the CPL Finals in their season totals.
Champions
Canadian Premier League Finals
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
Season |
Winner |
Result |
Runner-up |
Venues |
2019 |
Forge FC |
2–0[lower-alpha 1] |
Cavalry FC |
Leg 1 – Tim Hortons Field, Hamilton, Ontario[1]
Leg 2 – ATCO Field, Foothills County, Alberta[2] |
2020 |
Forge FC |
2–0 |
HFX Wanderers FC |
Alumni Field, Charlottetown, Prince Edward Island |
2021 |
Pacific FC |
1–0 |
Forge FC |
Tim Hortons Field, Hamilton, Ontario |
2022 |
Forge FC |
2–0 |
Atlético Ottawa |
TD Place Stadium, Ottawa, Ontario |
2023 |
Forge FC |
2–1 |
Cavalry FC |
Tim Hortons Field, Hamilton, Ontario |
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
Use <references />
, or <references group="..." />
Award winners
Golden Boot
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
Use <references />
, or <references group="..." />
Golden Glove
Coach of the Year
Player of the Year
Best Under 21 Canadian Player of the Year
Defender of the Year
Player's Player of the Year
Career player records
Statistics below are for all-time leaders and include regular season and playoffs. Bold indicates active players. Team is the current team or for inactive players the last CPL team they played for. Current to end of 2023 Playoffs.[3]
Hat-tricks
Club statistics
All-time regular season table
The all-time regular season table is a cumulative record of all match results, points and goals of every team that has played in the Canadian Premier League since its inception in 2019, excluding playoffs.
As of 2022 season[11][12]
Pos. |
Club |
Seasons |
Pld |
Win |
Draw |
Loss |
GF |
GA |
GD |
Pts |
PPG |
1st |
2nd |
3rd |
1 |
Cavalry FC |
4 |
91 |
51 |
19 |
21 |
134 |
89 |
45 |
172 |
1.89 |
2 |
1 |
1 |
2 |
Forge FC |
4 |
91 |
50 |
15 |
26 |
144 |
84 |
60 |
165 |
1.81 |
1 |
2 |
1 |
3 |
Pacific FC |
4 |
91 |
37 |
22 |
32 |
128 |
121 |
7 |
133 |
1.46 |
- |
- |
1 |
4 |
York United FC |
4 |
91 |
28 |
30 |
33 |
113 |
120 |
-7 |
114 |
1.25 |
- |
- |
1 |
5 |
Valour FC |
4 |
91 |
30 |
18 |
43 |
112 |
131 |
-19 |
108 |
1.19 |
- |
- |
- |
6 |
HFX Wanderers FC |
4 |
91 |
25 |
29 |
37 |
85 |
114 |
-29 |
104 |
1.14 |
- |
1 |
- |
7 |
Atlético Ottawa |
3 |
63 |
21 |
20 |
22 |
73 |
88 |
-15 |
83 |
1.32 |
1 |
- |
- |
8 |
FC Edmonton |
4 |
91 |
18 |
27 |
46 |
97 |
139 |
-42 |
81 |
0.89 |
- |
- |
- |
All-time regular season finishing positions
Best regular season records
Post-season active droughts
For the purposes of this section, the four-team group stage in 2020 is considered to be part of the post-season.
– team is no longer playing in the Canadian Premier League.
Playoff appearances
Updated through 2023 Canadian Premier League season. This list does not include clubs that made the post-season in that year.
Finals appearances
Updated through 2023 Canadian Premier League final. This list does not include the clubs that qualified in that year.
Championships
Updated through 2023 Canadian Premier League final. This list does not include the club that won the championship in that year.
CPL results in the Canadian Championship
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
Use <references />
, or <references group="..." />
Highest scoring games and largest victories
Largest victories
Date |
Winning margin |
Home team |
Result |
Away team |
September 2, 2019 |
8 |
Valour FC |
0–8 |
Cavalry FC |
September 15, 2020 |
5 |
HFX Wanderers FC |
0–5 |
Pacific FC |
April 24, 2022 |
Atlético Ottawa |
1–6 |
Valour FC |
May 13, 2023 |
Vancouver FC |
0–5 |
Atlético Ottawa |
July 27, 2019 |
4 |
York9 FC |
6–2 |
HFX Wanderers FC |
October 12, 2019 |
York9 FC |
4–0 |
Forge FC |
October 17, 2019 |
Valour FC |
0–4 |
York9 FC |
August 19, 2020 |
Atlético Ottawa |
0–4 |
Valour FC |
August 25, 2021 |
Forge FC |
4–0 |
Atlético Ottawa |
October 26, 2021 |
Pacific FC |
5–1 |
FC Edmonton |
May 20, 2022 |
HFX Wanderers FC |
0–4 |
Forge FC |
July 19, 2022 |
Forge FC |
5–1 |
FC Edmonton |
July 31, 2022 |
Atlético Ottawa |
0–4 |
Forge FC |
July 9, 2023 |
York United FC |
0–4 |
Forge FC |
Highest scoring games
Date |
Total goals |
Home team |
Result |
Away team |
Ref |
June 2, 2023 |
9 |
Vancouver FC |
3–6 |
Pacific FC |
[1] |
July 27, 2019 |
8 |
York9 FC |
6–2 |
HFX Wanderers FC |
[2] |
September 2, 2019 |
Valour FC |
0–8 |
Cavalry FC |
[3] |
October 12, 2021 |
7 |
FC Edmonton |
3–4 |
Atlético Ottawa |
[4] |
April 24, 2022 |
Atlético Ottawa |
1–6 |
Valour FC |
[5] |
May 31, 2022 |
FC Edmonton |
3–4 |
Forge FC |
[6] |
June 25, 2023 |
Forge FC |
4–3 |
Atlético Ottawa |
[7] |
September 15, 2019 |
6 |
York9 FC |
2–4 |
Valour FC |
[8] |
July 21, 2021 |
Pacific FC |
4–2 |
Atlético Ottawa |
[9] |
September 6, 2021 |
HFX Wanderers FC |
3–3 |
York United FC |
[10] |
October 26, 2021 |
Pacific FC |
5–1 |
FC Edmonton |
[11] |
November 6, 2021 |
FC Edmonton |
3–3 |
Valour FC |
[12] |
June 15, 2022 |
Valour FC |
2–4 |
Cavalry FC |
[13] |
June 30, 2022 |
Pacific FC |
3–3 |
Cavalry FC |
[14] |
July 15, 2022 |
York United FC |
2–4 |
Pacific FC |
[15] |
July 19, 2022 |
Forge FC |
5–1 |
FC Edmonton |
[16] |
August 1, 2022 |
HFX Wanderers FC |
2–4 |
York United FC |
[17] |
Transfer records
Highest transfer fees received
Attendance records
- Highest Attendance; 17,611, Forge FC vs York9, April 27, 2019
- Lowest Attendance; 0, 2020 Island Games
Seasonal average attendances
Best average season's attendance for each team in bold.
Season |
Regular season average (excluding Finals)[20] |
Atlético Ottawa |
Cavalry |
FC Edmonton |
Forge |
HFX Wanderers |
Pacific |
Valour |
Vancouver
FC
|
York United |
League Average |
2019 |
– |
3,292 |
2,905 |
6,588 |
6,061 |
3,102 |
5,335 |
- |
2,668 |
4,279 |
2020[lower-alpha 4] |
– |
– |
– |
– |
– |
– |
– |
- |
– |
– |
2021 |
3,618 |
2,544 |
961 |
3,378 |
5,198 |
2,627 |
2,368 |
- |
1,118 |
2,710 |
2022 |
4,069 |
3,492 |
1,071 |
3,631 |
5,825 |
3,178 |
3,111 |
- |
1,234 |
3,197 |
2023 |
4,959 |
4,090 |
- |
5,318 |
5,854 |
3,241 |
3,220 |
2,788 |
1,200 |
3,858 |
Notes
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
Use <references />
, or <references group="..." />
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
Use <references />
, or <references group="..." />
|
|
Seasons |
|
Clubs |
|
Awards |
|
Rivalries |
|
Key personnel |
|
Associated competitions |
|
|
|
|
Men's national teams |
|
Women's national teams |
|
Men's outdoor leagues |
Tier 1 |
|
Tier 3 |
|
Below tier 3 |
|
Non-FIFA |
|
|
Women's outdoor leagues |
|
Indoor and futsal competitions |
|
Cup competitions |
|
Other competitions |
|
College and university soccer |
|
Defunct Canadian leagues |
|
Defunct American leagues |
|
Related American leagues |
|
Defunct cup competitions |
|
Other |
|
Associations |
|
Cite error: <ref>
tags exist for a group named "lower-alpha", but no corresponding <references group="lower-alpha"/>
tag was found, or a closing </ref>
is missing
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.