Real Madrid
Morata skrev under for Real Madrid i 2008 fra naboholdet Getafe efter at være startet i Atlético Madrid og spillede for Real Madrid C, mens han stadig var junior. Efter en succesfuld sæson på Juvenil A-holdet, hvor han vandt to ungdomstitler og scorede 34 mål, blev han i juli 2010 forfremmet til Real Madrid Castilla, Real’s reservehold. Senere samme måned tog førsteholdsmanager José Mourinho Morata og fire af hans holdkammerater med på en preseason-tur i USA.
Den 15. august 2010 fik Morata sin debut med Castilla i en venskabskamp mod Alcorcón, hvor han scorede kampens eneste mål. Han fik sin debut i Segunda División B den 29. august i en 3-2 sejr mod Coruxo, og han scorede sit første mål i konkurrence i 1-1 mod Alcalá den 31. oktober.
Den 12. december 2010 fik Morata sin debut for førsteholdet, da han blev indskiftet som indskifter for Ángel Di María i det 88. minut i en 3-1 sejr i La Liga mod Real Zaragoza i La Liga. Ti dage senere fik han sin første optræden i Copa del Rey, hvor han igen kom ind fra bænken i de sidste minutter. I januar 2011, efter Gonzalo Higuaíns skade, forventede de spanske medier, at Morata skulle være hans afløser i hovedtruppen. Mourinho afviste dog dette og sagde, at “Morata endnu ikke er klar til at være en starter i Madrid. Han træner med os, men han er nødt til at fortsætte med at lære med Castilla”. I denne periode scorede Morata fem mål i fire kampe med reserverne, mens Emmanuel Adebayor blev skrevet under som erstatning for Higuaín på førsteholdet.
Den 13. februar 2011 scorede Morata karrierens første hattrick i en 7-1-sejr mod Deportivo Fabril. Han afsluttede sin første sæson som senior med 14 ligamål – delt topscorer i truppen sammen med Joselu – men det lykkedes ikke Castilla at opnå oprykning i slutspillet.
Morata scorede sit første konkurrencemål med Reals førstehold den 11. november 2012, da han kom ind i det 83. minut og scorede sejrsmålet efter blot 60 sekunder i en 2-1-sejr på udebane mod Levante. I sin første officielle start, hjemme mod Rayo Vallecano den 17. februar det følgende år, scorede han åbningsmålet efter blot tre minutter, men blev skiftet ud før den halve time for at gøre plads til Raúl Albiol, efter at Sergio Ramos var blevet udvist i en 2-0-sejr på hjemmebane.
Den 2. marts 2013 spillede Morata samtlige 90 minutter i El Clásico mod Barcelona og assisterede Karim Benzema til at score åbningsmålet i en eventuel 2-1-sejr på hjemmebane. I den følgende sæson blev han en fast del af førsteholdstruppen under den nye træner Carlo Ancelotti, men udtrykte et ønske om flere minutter i januars transfervindue.
Den 18. marts 2014 scorede Morata sit første mål i UEFA Champions League, det tredje mål i en 3-1-sejr over Schalke 04 på Santiago Bernabéu i ottendedelsfinalen. Den 17. maj, i den sidste kamp i ligaen, scorede han to sene mål mod Espanyol for at hjælpe Real til en 3-1-hjemmesejr og sluttede med otte mål i turneringen. Han var også med i klubbens sejr i UEFA Champions League-finalen mod Atlético Madrid, hvor han spillede de sidste ti minutter af den ordinære spilletid og tillægstiden efter at have erstattet Benzema.
Juventus
Den 19. juli 2014 meddelte Juventus, at de havde indgået en aftale om et beløb på 20 millioner euro for transferen af Morata, der underskrev en femårig aftale, hvor Real Madrid har mulighed for at købe ham tilbage i fremtiden. Han fik sin debut i Serie A den 13. september, hvor han erstattede Fernando Llorente i det sidste minut i en 2-0 hjemmesejr mod Udinese; to uger senere kom han igen ind i stedet for sin landsmand og headede sit første mål for sin nye klub, da de vandt 3-0 hos Atalanta.
Den 5. oktober 2014, i en 3-2 hjemmesejr mod Roma, kom Morata ind som indskifter og blev udvist for en forseelse mod Kostas Manolas, der blev udvist for at gøre gengæld. Den 9. november scorede han to gange i en 7-0-hjemmeafklapsning af Parma, og Llorente – som han erstattede efter 71 minutter – lagde yderligere to scoringer til. Morata kom ind i de sidste ti minutter af Supercoppa Italiana mod Napoli i Doha, Qatar, den 22. december, og scorede i straffesparkskonkurrencen, som Juventus tabte 5-6.
Den 28. januar 2015 spillede Morata de sidste 13 minutter af Coppa Italia-kampen mod Parma og scorede kampens eneste mål på Stadio Ennio Tardini for at kvalificere sig til semifinalen. Den følgende måned, hjemme mod Borussia Dortmund i ottendedelsfinalerne i UEFA Champions League, scorede han sejrsmålet i det 43. minut i første kamp; han startede også inde og fandt målet i returkampen og hjalp Juve til en 3-0-sejr på Westfalenstadion.
Den 7. april 2015 blev Morata udvist for en forseelse mod Alessandro Diamanti, da Juventus besejrede Fiorentina i pokalsemifinalen, og han missede dermed finalen. En uge senere vandt han et straffespark i Champions League-kvartfinalens første kamp mod Monaco, som blev omsat af Arturo Vidal i en 1-0-sejr på hjemmebane. I semifinalen mod Real Madrid bragte han værterne foran med et indspil i det ottende minut, da kampen endte med en 2-1-hjemmesejr, og han gentog bedriften i returkampen, idet han begge gange ikke fejrede en scoring mod sin tidligere klub. Den 6. juni i finalen mod Barcelona i Berlin scorede han udligningen tidligt i anden halvleg i et 1-3-nederlag.
I begyndelsen af august 2015 blev Morata udelukket i en måned på grund af en soleusmuskelafrivning i venstre læg under træning, og han blev sat ud af spillet i Supercoppa Italiana 2015. I sin anden optræden efter at være vendt tilbage til kamp, den 15. september, var han med i 85 minutter og scorede sejrsmålet i en 2-1-sejr på Manchester City i UEFA Champions League-gruppespillet. Den 30. september var han med til at slå Sevilla 2-0 på Juventus Stadium, hvilket var hans femte mål i lige så mange optrædener i konkurrencen, hvilket er lig med Alessandro Del Pieros rekord. Den 24. november blev han nomineret til UEFA’s hold til Årets hold.
Den 10. december 2015 underskrev Morata en kontraktforlængelse indtil 2020. Den 20. marts 2016, i Derby della Mole ude mod naboerne Torino, kom han fra bænken i første halvleg og scorede to gange i en 4-1-sejr. Den 21. maj kom han igen fra bænken og scorede sejrsmålet i det 20. minut af tillægstiden for at vinde Coppa Italia-finalen 1-0 mod A.C. Milan på Stadio Olimpico i Rom.
Tilbage til Real Madrid
Den 21. juni 2016 udnyttede Real Madrid sin tilbagekøbsklausul og genindkøbte Morata fra Juventus for 30 millioner euro. Hans første optræden i en konkurrence var den 9. august, da han startede i en 3-2-sejr over spanske landsmænd fra Sevilla i UEFA Super Cup 2016, hvor han blev erstattet af Benzema efter 62 minutter. Hans første mål kom i en 2-1-sejr hjemme over Celta den 27. august.
Den 5. april 2017 profiterede Morata af manager Zinedine Zidanes rotationer og scorede tre gange i en 4-2-sejr på udebane mod Leganés for at holde sit hold to point foran Barcelona med en kamp i hånden. På trods af at han tilbragte langt størstedelen af sæsonen som backup for Benzema, scorede han 15 ligamål, da klubben blev kronet som mester for første gang i fem år. Han tilføjede tre mål i ni optrædener i UEFA Champions League, som Real Madrid vandt for andet år i træk.
Chelsea
2017-18 sæson
Den 19. juli 2017 meddelte Chelsea, at de var blevet enige med Real Madrid om betingelserne for overførslen af Morata for et rapporteret klubrekordbeløb på omkring 60 millioner pund. Den 21. juli bestod han med succes sit lægetjek og blev officielt Chelsea-spiller.
Morata fik sin konkurrencedebut i FA Community Shield-kampen 2017 mod Arsenal, hvor han kom ind som indskifter i det 74. minut, da hans hold tabte på straffespark efter at have spillet 1-1 uafgjort i normal tid, hvor Morata missede i straffesparkskonkurrencen. Den 12. august 2017 scorede han og leverede en assist til David Luiz i sin første optræden i Premier League, et 2-3-nederlag hjemme mod Burnley – hans mål var et hovedstød i det 69. minut af kampen for at reducere underskuddet til 3-1. Den 23. september scorede han sit første hattrick for Chelsea i en 4-0-sejr på udebane mod Stoke City; dermed blev han den 17. Chelsea-spiller til at score et hattrick i Premier League.
Den 5. november 2017 scorede Morata i 1-0-hjemmebanenederlaget mod Manchester United, der blev trænet af hans tidligere chef Mourinho. Han bragte sin ligatotal op på ti mål den 26. december, da han hjalp Chelsea til en 2-0-sejr over Brighton & Hove Albion, også på Stamford Bridge.
Den 17. januar 2018 blev Morata udvist efter at have fået en reservation for at dykke og sekunder senere endnu en for uoverensstemmelse i tredje runde af FA Cup-genopgøret mod Norwich City. Han sluttede sit første år med 15 mål i alle turneringer, og The Blues sluttede på femtepladsen i ligatabellen.
2018-19-sæsonen
Morata åbnede sin konto i den følgende sæson den 18. august 2018, da han scorede det andet mål i en 3-2-hjemmesejr mod Arsenal. Den 4. oktober scorede han sejrsmålet i en 1-0-sejr over MOL Vidi i gruppespillet i UEFA Europa League. En måned senere var han med to mål med til at slå Crystal Palace 3-1 i en ligakamp på hjemmebane.
Atlético Madrid
2018-19-sæsonen
Den 27. januar 2019 vendte Morata tilbage til Atlético Madrid efter 12 år og kom til klubben på en 18 måneders låneaftale. Han fik sin ligadebut den 3. februar i et 0-1-nederlag på udebane mod Real Betis. Han scorede sit første mål den 24. februar i en 2-0 hjemmesejr over Villarreal.
Den 6. juli 2019 bekræftede Atlético Madrid den permanente underskrift af Morata fra Chelsea, og han ville officielt slutte sig til klubben den 1. juli 2020 for et beløb på omkring £58 millioner.
2019-20 sæson
Den 18. august 2019 scorede Morata det eneste mål i Atlético Madrids La Liga-optaktssejr mod Getafe. Den 1. oktober 2019 markerede Morata sin 300. professionelle kamp med en assist til kampens åbningsmål i en 2-0-sejr på udebane mod det russiske Lokomotiv Moskva. Den 22. oktober scorede han sit første Champions League-mål for Atlético ved at heade Renan Lodis tværpasning ind til kampens eneste mål i en 1-0-sejr på hjemmebane mod tyske Bayer Leverkusen. Dermed blev han også den første spiller, der scorede for både Real Madrid og Atlético i Champions League. Den 11. marts 2020, i Champions Leagues ottendedelsfinale på udebane mod de forsvarende mestre fra Liverpool, kom Morata ind som sen indskifter i forlænget spilletid og scorede kampens sidste mål i en 3-2-sejr på udebane, hvorved han vandt kampen 4-2 samlet set og sikrede sit hold kvalifikation til kvartfinalerne i turneringen.
Tilbage til Juventus
2020-21-sæsonen
Morata vendte tilbage til Juventus den 22. september 2020 på et etårigt lån til en værdi af 10 millioner euro med en købsoption på 45 millioner euro. Juventus forbeholder sig også retten til at forlænge lånet med yderligere et år for yderligere 10 mio. euro; i dette tilfælde er købsoptionen 35 mio. euro værd. Han spillede sin første kamp for klubben siden sin tilbagevenden den 27. september i 2-2 på udebane mod Roma i Serie A. Han scorede sit første mål for klubben siden sin tilbagevenden den 17. oktober i 1-1 på udebane mod Crotone. Morata scorede et dobbelt mål den 20. oktober, da han var med til at hjælpe Juventus med at vinde 2-0 i UEFA Champions League-gruppespilskampen mod Dynamo Kiev på udebane. Den 28. oktober fik han tre mål underkendt for offside mod Barcelona i en Champions League-gruppespilskamp, som Juventus tabte 2-0 på hjemmebane.