Cook stroomde in 2014 door vanuit de jeugd van Leeds United. Hiervoor maakte hij op 9 augustus 2014 zijn debuut in het betaald voetbal, in de Championship. Hij mocht na een uur invallen tijdens een met 2–0 verloren wedstrijd uit tegen Millwall.[2] Drie dagen later mocht Cook in de basiself beginnen in een wedstrijd in het toernooi om de League Cup tegen Accrington Stanley.[3] Zijn eerste basisplaats in de competitie volgde op 30 augustus 2014 tijdens een competitieduel tegen Bolton Wanderers.[4] Cook speelde in de volgende twee seizoenen tachtig wedstrijden in de Championship voor Leeds, waarmee hij in die tijd tot de middenmoot van de divisie behoorde.
Cook tekende in juli 2016 een contract tot medio 2020 bij AFC Bournemouth, de nummer zestien van de Premier League in het voorgaande seizoen. Het betaalde circa €8.200.000,- voor hem aan Leeds United, dat tot circa €3.500.000 extra in het vooruitzicht kreeg aan eventuele bonussen.[5]
Cook kwam uit voor diverse Engelse nationale jeugdelftallen. Hij nam in mei 2014 met Engeland –17 deel aan het Europees kampioenschap voor spelers onder 17 jaar in Malta. Engeland –17 won het toernooi nadat het in de finale Nederland –17 versloeg na strafschoppen. Cook werd in augustus 2014 opgeroepen voor een interland tussen Engeland –18 en Nederland –18. Cook won met Engeland –20 het WK –20 van 2017. Hij was tijdens dit hele toernooi aanvoerder.
Cook debuteerde op 27 maart 2018 in het Engels voetbalelftal, tijdens een oefeninterland thuis tegen Italië (1–1). Hij kwam in de 70e minuut in het veld als vervanger van Jesse Lingard.