↑ Количество игр и голов за профессиональный клуб считается только для различных лиг национальных чемпионатов, обновлено по состоянию на 3 декабря 2023 года.
В 2010—2013 годах Хагглунд обучался в Университете Ксавье по специальности «Менеджмент» и выступал за университетскую футбольную команду «Зейвьер Маскитиерс». В Национальной ассоциации студенческого спорта сыграл 81 матч, забил четыре мяча и отдал 11 результативных передач. В сезоне 2010 был включён в символические сборные новичков Конференции Atlantic 10 и турнира Конференции Atlantic 10. В сезоне 2011 был включён в символические сборные турнира Lakeside Classic, первую Конференции Atlantic 10 и первую среднеатлантического региона. В сезоне 2012 был включён в символические сборные турнира Конференции Atlantic 10, первую Конференции Atlantic 10 и вторую всеамериканскую и был назван лучшим игроком оборонительного плана Конференции Atlantic 10. В сезоне 2013 был включён в символические сборные первую Конференции Big East и вторую региона Великих озёр и был назван лучшим игроком оборонительного плана Конференции Big East[1].
16 января 2014 года на Супердрафте MLS Хагглунд был выбран в первом раунде под общим 10-м номером клубом «Торонто»[2][3]. Его профессиональный дебют состоялся 5 апреля в матче против «Коламбус Крю»[4]. 27 сентября в матче против «Портленд Тимберс» он забил свои первые голы в профессиональной карьере, оформив дубль[5]. 15 июля 2015 года перенёс срочную операцию по удалению аппендикса[6][7][8]. 19 августа Хагглунд был заявлен в «Торонто II», фарм-клуб «Торонто» в USL[9]. 30 ноября 2016 года забил гол в ответном матче финала Восточной конференции плей-офф Кубка MLS против «Монреаль Импакт»[10]. 15 марта 2017 года Хагглунд перезаключил контракт с «Торонто» на несколько лет[11][12][13]. 13 мая в матче против «Миннесоты Юнайтед» порвал медиальную коллатеральную связку левого колена, из-за чего выбыл из строя на 8—12 недель[14][15]. 12 августа в матче против «Портленд Тимберс» получил растяжение медиальной коллатеральной связки левого колена, из-за чего выбыл из строя на 6—8 недель[16][17][18]. 13 июня 2018 года оформил дубль в матче против «Ди Си Юнайтед»[19]. 14 июля против «Орландо Сити» сыграл свой 100-й матч за «Торонто» во всех соревнованиях, отметив юбилейный рубеж голом[20].
23 января 2019 года «Торонто» обменял Хагглунда с 24-й позицией в рейтинге распределения игроков новообразованному «Цинциннати» на $300 тыс. в распределительных средствах и первую позицию в рейтинге распределения игроков, а также дополнительные $50 тыс. в распределительных средствах в случае перепродажи игрока[21][22][23]. 2 марта он отыграл все 90 минут в матче стартового тура сезона 2019 против «Сиэтл Саундерс», ставшем для «Цинциннати» дебютом в MLS[24]. 14 октября 2020 года в матче против «Коламбус Крю» он забил свой первый гол за «Цинциннати»[25]. 2 декабря Хагглунд подписал новый контракт с «Цинциннати»[26][27]. По окончании сезона 2021 «Цинциннати» отклонил опцию продления контракта Хагглунда[28], но 14 января 2022 года клуб переподписал контракт с игроком до конца сезона 2023[29][30]. 7 марта 2023 года Хагглунд продлил контракт с «Цинциннати» до конца сезона 2024[31][32]. Пропустил плей-офф Кубка MLS 2023 из-за травмы подколенного сухожилия[33][34].
↑Andrew King.Match Recap: CREW 0, TFC 2(англ.). Toronto FC (5 апреля 2014). Дата обращения: 17 января 2021. Архивировано из оригинала 17 января 2021 года.
↑Armen Bedakian.Match Recap: TFC 3, Timbers 2(англ.). Toronto FC (27 сентября 2014). Дата обращения: 3 апреля 2016. Архивировано из оригинала 3 апреля 2016 года.