2019 Forge FC season

The 2019 Forge FC season was the first season in the club's history, as well as first season in Canadian Premier League history. On April 27, 2019, Forge FC hosted York9 FC in the inaugural CPL match at Tim Hortons Field. During the season, Forge also participated in the Canadian Championship, CONCACAF League, and the Canadian Premier League Finals.

On November 2, 2019, Forge FC defeated Cavalry FC 2–0 on aggregate in the CPL Finals and became the first ever champions of the Canadian Premier League. As champions, they qualified for the 2020 CONCACAF League.

Squad
As of November 2, 2019.

Draft picks
Forge FC selected the following players in the 2018 CPL–U Sports Draft on November 12, 2018. Draft picks are not automatically signed to the team roster. Only those who are signed to a contract will be listed as transfers in.

Kits
On September 28, 2018, the Canadian Premier League announced that Canadian Soccer Business had signed a "long-term" deal on behalf of the league with Italian sporting apparel company Macron to be the official league kit provider, supplying the league's clubs with bespoke playing kits and training gear.

On April 5, 2019, Forge FC's home and away kits were unveiled alongside those of the CPL's other teams. The club later unveiled a black and gold third kit on May 30 to commemorate the sporting history of Hamilton.

Supplier: Macron / Sponsor: Tim Hortons

Competitions
Match times are Eastern Daylight Time (UTC−4).

CPL finals
Forge qualified for the CPL finals on September 28. The CPL announced the match schedule on September 30.

Canadian Championship
The Canadian Soccer Association announced the format of the 2019 Canadian Championship on January 10; the draw results were announced on February 12. Forge entered the competition in the second round.

CONCACAF League
CONCACAF conducted the CONCACAF League draw on May 30, before Forge had qualified for the competition.

Preliminary round
The preliminary round schedule was announced on June 10.

Round of 16
The round of 16 schedule was announced on August 9.

Squad and statistics


! colspan="16" | Player(s) transferred out during this season


 * }

Top scorers
{| class="wikitable sortable alternance" style="font-size:85%; text-align:center; line-height:14px; width:85%" !width=10|Rank !width=10|Nat. ! scope="col" style="width:275px;"|Player !width=10|Pos. !width=80|CPL Spring season !width=80|CPL Fall season !width=80|CPL Finals !width=80|Canadian Championship !width=80|CONCACAF League !width=80|Total
 * 1||🇨🇦|| Tristan Borges       || MF || 4 || 8 || 1 || 0 || 0 ||13
 * 2||🇨🇦|| Anthony Novak       || FW || 2 || 4 || 0 || 0 || 0 ||6
 * rowspan=2|3||🇨🇦|| Kyle Bekker       || MF || 1 || 3 || 0 || 1 || 0 ||5
 * 🇨🇦|| Chris Nanco       || FW || 1 || 3 || 0 || 0 || 1 ||5
 * rowspan=2|5||🇨🇦|| David Choinière       || MF || 0 || 1 || 1 || 0 || 2 ||4
 * 🇬🇾|| Emery Welshman       || FW || 1 || 2 || 0 || 1 || 0 ||4
 * 7||🇨🇦|| Kadell Thomas       || FW || 2 || 1 || 0 || 0 || 0 ||3
 * rowspan=3|8||🇸🇳|| Elimane Oumar Cissé       || MF || 0 || 2 || 0 || 0 || 0 ||2
 * 🇨🇦|| Jace Kotsopoulos       || FW || 1 || 1 || 0 || 0 || 0 ||2
 * 🇧🇪|| Daniel Krutzen       || DF || 1 || 0 || 0 || 0 || 1 ||2
 * rowspan=6|11||🇨🇦|| Klaidi Cela       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| David Edgar       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Giuliano Frano       || MF || 1 || 0 || 0 || 0 || 0 ||1
 * 🇨🇦|| Jonathan Grant       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Monti Mohsen       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Marcel Zajac       || FW || 0 || 1 || 0 || 0 || 0 ||1
 * colspan="4"|Own goals     || 1 || 0 || 0 || 0 || 0 ||1
 * - class="sortbottom"
 * colspan="4"|Totals||15||30||2||2||4||54
 * 🇧🇪|| Daniel Krutzen       || DF || 1 || 0 || 0 || 0 || 1 ||2
 * rowspan=6|11||🇨🇦|| Klaidi Cela       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| David Edgar       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Giuliano Frano       || MF || 1 || 0 || 0 || 0 || 0 ||1
 * 🇨🇦|| Jonathan Grant       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Monti Mohsen       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Marcel Zajac       || FW || 0 || 1 || 0 || 0 || 0 ||1
 * colspan="4"|Own goals     || 1 || 0 || 0 || 0 || 0 ||1
 * - class="sortbottom"
 * colspan="4"|Totals||15||30||2||2||4||54
 * 🇨🇦|| Monti Mohsen       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Marcel Zajac       || FW || 0 || 1 || 0 || 0 || 0 ||1
 * colspan="4"|Own goals     || 1 || 0 || 0 || 0 || 0 ||1
 * - class="sortbottom"
 * colspan="4"|Totals||15||30||2||2||4||54
 * - class="sortbottom"
 * colspan="4"|Totals||15||30||2||2||4||54
 * colspan="4"|Totals||15||30||2||2||4||54

Top assists
{| class="wikitable sortable alternance" style="font-size:85%; text-align:center; line-height:14px; width:85%" !width=10|Rank !width=10|Nat. ! scope="col" style="width:275px;"|Player !width=10|Pos. !width=80|CPL Spring season !width=80|CPL Fall season !width=80|CPL Finals !width=80|Canadian Championship !width=80|CONCACAF League !width=80|Total
 * 1||🇨🇦|| Kwame Awuah       || DF || 2 || 3 || 0 || 0 || 1 ||6
 * rowspan=2|2||🇨🇦|| Kyle Bekker       || MF || 3 || 2 || 0 || 0 || 0 ||5
 * 🇨🇦|| Tristan Borges       || MF || 1 || 4 || 0 || 0 || 0 ||5
 * rowspan=2|4||🇨🇦|| David Choinière       || MF || 1 || 0 || 0 || 3 || 0 ||4
 * 🇨🇦|| Anthony Novak       || FW || 0 || 3 || 0 || 0 || 1 ||4
 * 6||🇨🇦|| Marcel Zajac       || FW || 1 || 2 || 0 || 0 || 0 ||3
 * rowspan=5|7||🇸🇪|| Alexander Achinioti-Jönsson       || MF || 1 || 1 || 0 || 0 || 0 ||2
 * 🇸🇳|| Elimane Oumar Cissé       || MF || 0 || 1 || 1 || 0 || 0 ||2
 * 🇧🇪|| Daniel Krutzen       || DF || 2 || 0 || 0 || 0 || 0 ||2
 * 🇨🇦|| Chris Nanco       || FW || 0 || 1 || 1 || 0 || 0 ||2
 * 🇬🇾|| Emery Welshman       || FW || 2 || 0 || 0 || 0 || 0 ||2
 * rowspan=5|12||🇨🇦|| Klaidi Cela       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Giuliano Frano       || MF || 0 || 0 || 0 || 0 || 1 ||1
 * 🇨🇦|| Jonathan Grant       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Dominic Samuel       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Kadell Thomas       || FW || 0 || 1 || 0 || 0 || 0 ||1
 * - class="sortbottom"
 * colspan="4"|Totals||13||22||2||2||3||43
 * 🇨🇦|| Chris Nanco       || FW || 0 || 1 || 1 || 0 || 0 ||2
 * 🇬🇾|| Emery Welshman       || FW || 2 || 0 || 0 || 0 || 0 ||2
 * rowspan=5|12||🇨🇦|| Klaidi Cela       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Giuliano Frano       || MF || 0 || 0 || 0 || 0 || 1 ||1
 * 🇨🇦|| Jonathan Grant       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Dominic Samuel       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Kadell Thomas       || FW || 0 || 1 || 0 || 0 || 0 ||1
 * - class="sortbottom"
 * colspan="4"|Totals||13||22||2||2||3||43
 * 🇨🇦|| Jonathan Grant       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Dominic Samuel       || DF || 0 || 1 || 0 || 0 || 0 ||1
 * 🇨🇦|| Kadell Thomas       || FW || 0 || 1 || 0 || 0 || 0 ||1
 * - class="sortbottom"
 * colspan="4"|Totals||13||22||2||2||3||43
 * - class="sortbottom"
 * colspan="4"|Totals||13||22||2||2||3||43
 * colspan="4"|Totals||13||22||2||2||3||43

Clean sheets
{| class="wikitable sortable alternance" style="font-size:85%; text-align:center; line-height:14px; width:85%" !width=10|Rank !width=10|Nat. ! scope="col" style="width:275px;"|Player !width=80|CPL Spring season !width=80|CPL Fall season !width=80|CPL Finals !width=80|Canadian Championship !width=80|CONCACAF League !width=80|Total
 * 1||🇨🇦|| Triston Henry || 4 || 3 || 2 || 0 || 2 ||11
 * 2||🇬🇾|| Quillan Roberts || 1 || 3 || 0 || 0 || 0 ||4
 * - class="sortbottom"
 * colspan="3"|Totals||5||6||2||0||2||15
 * - class="sortbottom"
 * colspan="3"|Totals||5||6||2||0||2||15
 * colspan="3"|Totals||5||6||2||0||2||15

Disciplinary record
{| class="wikitable sortable alternance" style="font-size:85%; text-align:center; line-height:14px; width:85%" !rowspan="2" width=10|No. !rowspan="2" width=10|Pos. !rowspan="2" width=10|Nat. !rowspan="2" scope="col" style="width:275px;"|Player !colspan="2" width=80|CPL Spring season !colspan="2" width=80|CPL Fall season !colspan="2" width=80|CPL Finals !colspan="2" width=80|Canadian Championship !colspan="2" width=80|CONCACAF League !colspan="2" width=80|Total ! !! sent off: !! !! sent off: !! !! sent off: !! !! sent off: !! !! sent off: !! !! sent off:
 * 1||GK||🇨🇦|| Triston Henry   ||0||0||2||0||1||0||0||0||2||0||5||0
 * 2||DF||🇨🇦|| Jonathan Grant   ||0||0||2||0||0||0||0||0||0||0||2||0
 * 4||DF||🇨🇦|| Dominic Samuel   ||4||0||1||1||0||0||0||0||0||0||5||1
 * 5||DF||🇧🇪|| Daniel Krutzen   ||0||0||0||0||0||0||1||0||0||0||1||0
 * 6||DF||🇨🇦|| Kwame Awuah   ||0||0||3||0||1||0||0||0||0||0||4||0
 * 7||MF||🇨🇦|| David Choinière   ||0||0||0||0||1||0||0||0||0||0||1||0
 * 8||MF||🇨🇦|| Giuliano Frano   ||1||0||4||0||0||0||1||0||1||0||7||0
 * 9||FW||🇨🇦|| Marcel Zajac   ||1||0||2||0||0||0||0||0||0||0||3||0
 * 10||MF||🇨🇦|| Kyle Bekker   ||2||0||0||0||0||0||0||0||0||0||2||0
 * 11||FW||🇨🇦|| Chris Nanco   ||0||0||1||0||0||0||0||0||0||0||1||0
 * 13||MF||🇸🇪|| Alexander Achinioti-Jönsson   ||0||0||0||0||0||0||1||0||0||0||1||0
 * 14||FW||🇬🇾|| Emery Welshman   ||0||0||1||0||0||0||0||0||0||0||1||0
 * 17||FW||🇨🇦|| Kadell Thomas   ||3||0||1||0||0||0||0||0||0||0||4||0
 * 18||GK||🇬🇾|| Quillan Roberts   ||0||0||0||0||0||0||0||1||0||0||0||1
 * 19||MF||🇨🇦|| Tristan Borges   ||0||0||2||0||0||1||0||0||1||0||3||1
 * 21||DF||🇨🇲|| Bertrand Owundi   ||2||0||2||0||0||0||0||0||1||0||5||0
 * 22||DF||🇨🇦|| Monti Mohsen   ||0||0||1||0||0||0||0||0||0||0||1||0
 * 23||FW||🇨🇦|| Anthony Novak   ||1||0||2||0||1||0||0||0||0||0||4||0
 * 30||DF||🇨🇦|| David Edgar   ||0||0||1||0||0||0||0||0||0||0||1||0
 * - class="sortbottom"
 * colspan="4"|Totals||14||0||25||1||4||1||3||1||5||0||51||3
 * 13||MF||🇸🇪|| Alexander Achinioti-Jönsson   ||0||0||0||0||0||0||1||0||0||0||1||0
 * 14||FW||🇬🇾|| Emery Welshman   ||0||0||1||0||0||0||0||0||0||0||1||0
 * 17||FW||🇨🇦|| Kadell Thomas   ||3||0||1||0||0||0||0||0||0||0||4||0
 * 18||GK||🇬🇾|| Quillan Roberts   ||0||0||0||0||0||0||0||1||0||0||0||1
 * 19||MF||🇨🇦|| Tristan Borges   ||0||0||2||0||0||1||0||0||1||0||3||1
 * 21||DF||🇨🇲|| Bertrand Owundi   ||2||0||2||0||0||0||0||0||1||0||5||0
 * 22||DF||🇨🇦|| Monti Mohsen   ||0||0||1||0||0||0||0||0||0||0||1||0
 * 23||FW||🇨🇦|| Anthony Novak   ||1||0||2||0||1||0||0||0||0||0||4||0
 * 30||DF||🇨🇦|| David Edgar   ||0||0||1||0||0||0||0||0||0||0||1||0
 * - class="sortbottom"
 * colspan="4"|Totals||14||0||25||1||4||1||3||1||5||0||51||3
 * 22||DF||🇨🇦|| Monti Mohsen   ||0||0||1||0||0||0||0||0||0||0||1||0
 * 23||FW||🇨🇦|| Anthony Novak   ||1||0||2||0||1||0||0||0||0||0||4||0
 * 30||DF||🇨🇦|| David Edgar   ||0||0||1||0||0||0||0||0||0||0||1||0
 * - class="sortbottom"
 * colspan="4"|Totals||14||0||25||1||4||1||3||1||5||0||51||3
 * 30||DF||🇨🇦|| David Edgar   ||0||0||1||0||0||0||0||0||0||0||1||0
 * - class="sortbottom"
 * colspan="4"|Totals||14||0||25||1||4||1||3||1||5||0||51||3
 * colspan="4"|Totals||14||0||25||1||4||1||3||1||5||0||51||3