Born in Cambridge, Ontario, Hasal moved with his family to Ottawa when he was a year old, where he began playing soccer at age five.[1] He then moved to Calgary at age seven, Edmonton at age eight, and Saskatoon at age nine.[1] He played with youth club Aurora SC in Saskatchewan for a year, later joining the Whitecaps FC Saskatchewan Academy Centre in 2013, and also played for the Saskatchewan provincial team in 2014 and 2015.[2][3] In August 2016, he joined the Whitecaps Residency Academy and later joined the Vancouver Whitecaps FC U-23 developmental squad in 2018.[4][5] In 2016, he led the U19 team to the Academy Championship semi-finals.[6] In 2016 and 2017, he was named the Saskatchewan Soccer Association Male Youth Player of the Year.[7]
Club career
Vancouver Whitecaps FC
In March 2019, he signed a professional contract with Vancouver Whitecaps FC of Major League Soccer as a homegrown player through 2020, with club options for 2021 and 2022.[8][9] Initially serving as the third-string goalkeeper, he made his debut on July 19, 2020, coming on as a substitute against the Seattle Sounders FC, early in the second half of an MLS is Back Tournament group stage match after an injury to Maxime Crépeau.[10][11] He made his first start in the next match on July 23, keeping a clean sheet in a 2–0 victory.[12][13] He led the team to the Round of 16, where they were defeated in penalty kicks by Sporting Kansas City, following a 0–0 draw, with Hasal finishing the tournament with no goals against in regulation.[14][15] Despite the loss, he was named Man of the Match and was selected to the MLS Team of the Week.[16] After the tournament, he was named a finalist for the MLS is Back Tournament Golden Glove, Best XI, and Save of the Tournament.[17][18] Hasal would take over the starting role in Crépeau's absence, but would lose that role after suffering a fractured tibia and concussion, in September 2020.[19][20] Following the return of Crépeau, Hasal began the 2021 season in a backup role.[21][22]
In 2022, he extended his contract through the 2023 season, with club options for 2024 and 2025.[23][24] Following the trade of starter Maxime Crépeau, Hasal began the 2022 season as the Whitecaps' first-choice goalkeeper.[25][26][27] However, on May 8, he suffered a fractured finger, putting him out of action.[28] On June 25, he joined the second team Whitecaps FC 2 in MLS Next Pro in their match against San Jose Earthquakes II in his first game back.[29] After the 2023 season, Hasal's contract option for the 2024 season would be declined by the Whitecaps, ending his time with the club.[30]
Los Angeles FC
On June 5, 2024, Hasal signed with Los Angeles FC through 2025 with an option for 2026.[31]
International career
Hasal made his debut in the Canadian youth program in October 2016 when he was called up to the Canada U18 team.[1] In 2017, he was called up to the Canadian U20 team for a pair of friendly tournaments in January 2017,[32][33] where he saved a penalty against El Salvador.[34] He was then named to the roster for the 2017 CONCACAF U-20 Championship.[35][36] At the CONCACAF Championship, he played every minute in Canada's three matches.[37] He was then named to the roster for the 2018 CONCACAF U-20 Championship.[1] In January 2020, Hasal was named to a camp with the Canada U23 team,[38] before being named to the provisional roster for the 2020 CONCACAF Men's Olympic Qualifying Championship on February 26, 2020.[39]
In November 2022, he was called up to the Canada senior team for the first time, ahead of a friendly against Bahrain,[40][41] although he did not appear in the match.[42]
Personal life
Hasal is of Czech descent; both his parents are first-generation emigrants from the Czech Republic.[43][44] His grandfather František was a goalkeeper and introduced Hasal to soccer.[14][45]