Členem ČSSD je od roku 2001, před tím byl členem Mladých sociálních demokratů, kterým i předsedal. V minulosti byl též šéfem české delegace při Parlamentním shromáždění NATO a stínovým ministrem obrany za ČSSD.
V letech 2006 až 2008 byl viceprezidentem a členem vedení Světové organizace sociálně demokratické mládeže. Byl tajemníkem Klubu zastupitelů ČSSD ve Středočeském kraji, následně přešel do vedení zahraničního oddělení strany a zároveň zastával i post poradce tehdejšího předsedy vlády Jiřího Paroubka pro zahraniční politiku.
Od března 2014 byl místopředsedou ČSSD, na únorovém sjezdu v roce 2018 byl zvolen do funkce předsedy. Ve druhém kole voleb porazil jihočeského exhejtmana Jiřího Zimolu. V čele strany ho potvrdil i sjezd v březnu 2019, neměl soupeře.
V letech 2013 až 2017 vedl Poslaneckou sněmovnu. Zkušenosti ve Sněmovně sbíral už jako její místopředseda v letech 2010 až 2013. Poslancem byl od roku 2006. Ve volbách 2017 svůj poslanecký mandát obhájil a v listopadu 2017 byl zvolen místopředsedou Sněmovny. V červenci 2018 musel funkci uvolnit poté, co se stal ministrem vnitra a zahraničí. V říjnu 2018 ho v čele resortu zahraničí vystřídal Tomáš Petříček.
Hamáček mluví plynule anglicky, španělsky, německy a francouzsky, ovládá také základy ruštiny a polštiny. Jazyky se zabýval i během studia na Univerzitě Karlově v Praze, v roce 1997 nastoupil na Filozofickou fakultu na obor překladatelství/tlumočnictví v kombinaci s ekonomií, studium však nedokončil.
Zajímá se o historii, baví ho jízda na kole a rád hraje squash.
V lednu 2020 oznámil, že s manželkou Kamilou požádali o rozvod. Mají syny Lukáše a Matyáše. Oficiálně byl Jan Hamáček rozveden až v červnu, protože kvůli šíření koronaviru se na čas zastavil chod soudů. V červenci se pak podruhé oženil s bývalou političkou ODS Gabrielu Kloudovou.