Народився 8 лютого1994 року в місті Мангайм. Починав грати у футбол в юнацьких командах з Мангайма — «Туранспор» і «Поліцай». У віці семи років він став гравцем академії «Вальдгофа»[1]. Влітку 2009 року Чалханоглу перейшов в академію «Карлсруе СК».
Завдяки своїй грі в молодіжній команді в сезоні 2011/12, він привернув увагу головного тренера першої команди Єрна Андерсена, який включив молодого футболіста в основний склад. 5 лютого 2012 року Чалханоглу дебютував за «Карлсруе» у домашньому матчі проти «Ерцгебірге» (2:1), відігравши 79 хвилин і віддавши два гольових паси. У березні 2012 року він підписав новий контракт з клубом до 30 червня 2016 року[2]. Перед початком сезону 2012/13 Чалханоглу отримав десятий номер. 21 липня 2012 року у виїзному матчі проти «Гайденгайма» (2:2) він забив свої перші голи в професійному футболі.
14 серпня 2012 року Чалханоглу підписав чотирирічний контракт з представником Бундесліги «Гамбургом», але ще один рік на правах оренди мав провести за «Карлсруе»[3]. Через п'ять днів Чалханоглу у складі «Карлсруе» грав проти «Гамбурга» в першому раунді Кубку Німеччини і допоміг своїй команді домогтися перемоги (4:2), віддавши один гольовий пас[4]. У сезоні 2012/13 він забив 17 голів у 36 матчах і, ставши четвертим бомбардиром ліги, допоміг «Карлсруе» вийти в другу Бундеслігу. Також він був визнаний найкращим гравцем сезону в третій лізі[5].
Перед початком сезону 2013/14 Чалханоглу перебрався в «Гамбург» і отримав дев'ятий номер. 4 серпня 2013 року в матчі першого раунду Кубка Німеччини проти «Шотта» (4:0) він дебютував за «динозаврів», вийшовши на заміну на 77-й хвилині[6]. Через тиждень Чалханоглу дебютував у Бундеслізі в гостьовому матчі проти «Шальке 04» (3:3), вийшовши на поле в стартовому складі[7]. 31 серпня 2013 року в домашньому матчі проти брауншвейгського«Айнтрахта» (4:0) він забив два своїх перших голи у Бундеслізі. 5 лютого 2014 року Чалханоглу продовжив контракт з «Гамбургом» до 2018 року[8].
Проте вже 4 липня 2014 року Чалханоглу за 14, 6 млн. євро перейшов в «Баєр 04», підписавши контракт до 2019 року[9]. Наразі встиг відіграти за команду з Леверкузена 36 матчів в національному чемпіонаті.
4 липня 2017 року було офіційно оголошено про перехід Чалханоглу до італійського «Мілана».[10]
22 червня 2021 року на правах вільного агента Хакан Чалханоглу перейшов до іншої міланської команди - «Інтера»[11].