Im Vorfeld des NHL Entry Draft 2015 wurde Hamilton von den Boston Bruins an die Calgary Flames abgegeben. Im Gegenzug erhielten die Bruins ein Erstrunden- sowie zwei Zweitrunden-Wahlrechte für diesen Draft. In Calgary war er in der Folge drei Jahre aktiv, bevor er im Juni 2018 samt Micheal Ferland und Adam Fox zu den Carolina Hurricanes transferiert wurde, die dafür Noah Hanifin und Elias Lindholm zu den Flames schickten. Am Ende der Saison 2020/21, in der ihm 42 Punkte in 55 Partien gelangen, wurde er ins NHL Second All-Star Team gewählt.