Makaay werd in de zomer van 1999 door Deportivo van Tenerife gekocht voor ongeveer €8,5 miljoen. Hij debuteerde in de competitie met een hattrick in de thuiswedstrijd tegen Deportivo Alavés (4-1) en scoorde 22 doelpunten in de Liga dat seizoen. Het zorgde er mede voor dat Deportivo voor het eerst Spaanslandskampioen werd. In dat seizoen maakte hij ook drie doelpunten in de UEFA Cup en een doelpunt in de Copa del Rey. Makaay was tijdens zijn vier jaar bij Deportivo onderdeel van het team dat daarna tweemaal tweede werd en eenmaal derde in de competitie. Het won tweemaal de Spaanse Supercopa (in 2000 en 2002), de Copa del Rey in 2002 en speelde tweemaal de kwartfinale van de Champions League. In zijn tweede seizoen voor de club maakte hij 18 doelpunten en daarna 14. Dit had mede te maken met de transfer van Diego Tristán naar Deportivo in 2000. Hij werd Spaans topscorer in 2002 en international voor het Spaanse nationale elftal en scoorde 55 doelpunten in zijn eerste twee seizoenen.
In het seizoen 2002/2003 was Makaay echter weer de belangrijkste spits van het team. Hij scoorde in totaal 39 doelpunten. Zijn 29 doelpunten in de Spaanse competitie bezorgden hem de Europese Gouden Schoen. Daarnaast scoorde hij negen doelpunten in de Champions League en een doelpunt in de Copa del Rey. Dankzij zijn drie doelpunten tegen Bayern Munchen in 2002 in het Olympiastadion was (en bleef) Deportivo de enige Spaanse club die daar heeft gewonnen. In de thuiswedstrijd tegen Bayern München maakte Makaay vlak voor de tijd het winnende doelpunt. Mede dankzij deze doelpunten nam Bayern hem in de zomer van 2003 over van Deportivo. Met de transfer was in eerste instantie €18,75 miljoen gemoeid. Omdat Bayern echter niet de afspraak nakwam om voor 2006 aan een toernooi in A Coruña ter voorbereiding van een seizoen mee te doen kwam daar in augustus 2005 nog €500.000 bij. Zijn laatste doelpunt in Spaanse dienst (de 1–1 tegen RCD Espanyol op 21 juni 2003) was tevens zijn honderdste doelpunt in de Primera División. Naast 79 competitiedoelpunten voor Deportivo heeft hij ook 21 competitiedoelpunten voor Tenerife gescoord.
Zijn landstitel met het kleine Deportivo is volgens Makaay de bijzonderste uit zijn carrière[1].
Bayern München
Bij Bayern zou het tweemaal kampioen worden: in 2005 en 2006. In de seizoenen 2003/04 en 2004/05 werd Makaay clubtopscorer van Bayern München. Zijn onzichtbaarheid en toch doeltreffendheid, leverde hem in Duitsland de bijnaam Das Phantom op.
Hoewel de teller in de twee daaropvolgende seizoenen eerder stokte, werd Makaay zowel in het seizoen 2005/06 als in 2006/07 opnieuw clubtopscorer van de Beierse club. In zijn derde jaar in München kwam hij tot zeventien competitiedoelpunten. In het voor Bayern München rampseizoen 2006/07 scoorde Makaay zestien doelpunten, maar de club uit Beieren wist geen Europees voetbal te behalen. Daarom tastte Bayern in de zomer van 2007 diep in de buidel en kocht enkele nieuwe spitsen. Makaay wilde zekerheid dat hij zou spelen en besloot te vertrekken. Diverse clubs toonden interesse voor de diensten van de spits, waaronder PSV, Olympique Lyonnais en enkele Spaanse clubs, maar Makaay tekende bij de Rotterdamse volksclub Feyenoord. In juni 2007 werd bekend dat hij een contract had getekend voor drie seizoenen bij Feyenoord.
Feyenoord
In zijn debuutwedstrijd, tegen het FC Utrecht van Willem van Hanegem, was hij meteen een van de belangrijkste spelers op het veld. Mede door twee belangrijke assists en een doelpunt won Feyenoord met 3–0. Algauw werd Makaay de publiekslieveling van het legioen. Ook het clubmotto "Geen woorden, maar daden" leek prima bij de bescheiden spits te passen. Op zondag 25 november 2007 maakte Makaay zijn driehonderdste doelpunt in het betaalde voetbal in de uitwedstrijd tegen FC Groningen. De wedstrijd erna scoorde Makaay na achttien seconden zijn vijftigste doelpunt in de Eredivisie. In zijn eerste seizoen scoorde Makaay dertien doelpunten uit negenentwintig wedstrijden en was hij tevens verantwoordelijk voor vele assists, waaruit zijn teamgenoten konden scoren. In de wedstrijd tegen AZ raakte Makaay door een tackle van Kemy Agustien ernstig geblesseerd. Door de tackle van de AZ-speler klapte de enkel van Makaay dubbel en raakte hij zo'n zes weken uit de roulatie. Volgens de diagnose van clubarts Robbert van Linschoten zou Makaay de competitie niet meer kunnen afmaken en met goed herstel hoogstens terug kunnen keren voor de finale van het KNVB bekertoernooi en de play-offs. Hij werd tijdelijk vervangen door de routinier Michael Mols. Na het seizoen stond Feyenoord de aanvaller af aan Foppe de Haan voor de Olympische Spelen, waar hij weer geblesseerd raakte en een aantal weken uit de roulatie bleef. Tegen Kalmar maakte hij zijn rentree in de Kuip, om vervolgens de hele klassieker tegen Ajax mee te spelen.
Op vrijdag 14 augustus 2009 maakte de trainer van Feyenoord Mario Been bekend dat Roy Makaay de eerstvolgende competitiewedstrijd tegen Heracles Almelo op de bank zou gaan beginnen en in zijn plaats Jon Dahl Tomasson zou spelen. In de eerste twee competitiewedstrijden van het voetbalseizoen 2009/10 werd hij al vroegtijdig naar de kant gehaald, omdat hij toch niet zo voetbalde zoals Mario Been graag zou zien. Voor het eerst in zijn loopbaan bij Feyenoord zou hij daarna op de reservebank zitten. Op zondag 23 augustus begon Makaay wederom op de bank. Dit keer mocht hij echter wel invallen. Makaay was op 30 augustus 2009 tegen FC Twente, wederom als invaller, belangrijk door de 1–1 aan te tekenen van de strafschopstip. Op woensdag 24 maart 2010, in de halve finale van de KNVB beker, was het opnieuw Roy Makaay die als invaller, wederom tegen FC Twente, het net wist te vinden. In deze wedstrijd scoorde hij de winnende 2–1, waardoor Feyenoord een finaleplaats wist te bemachtigen.
Op maandag 26 april 2010 werd bekend dat Makaay stopte met betaald voetbal. Op 2 mei 2010 nam hij afscheid door in zijn laatste competitiewedstrijd een hattrick te scoren tegen sc Heerenveen. Zijn laatste doelpunt en tevens laatste balcontact in het betaalde voetbal, was een stift van buiten het zestien meter-gebied die in het doel belandde. Na zijn vijftigste doelpunt voor Feyenoord, kreeg hij een publiekswissel.
Interlandloopbaan
Nederland onder 21
Bij het Nederlands elftal onder 21 kende Makaay een periode die voor hem succesvol was; de jonge, talentvolle aanvaller maakte in deze fase vijftien doelpunten.
Aan het eind van zijn carrière nam bondscoach Foppe de Haan Makaay als dispensatiespeler mee met het Nederlands elftal onder 21 naar de Olympische Zomerspelen van 2008. Hij was de aanvoerder van het team dat de kwartfinale haalde. In deze periode schroefde hij zijn doelpuntenaantal op tot achttien. Hiermee werd hij met Klaas-Jan Huntelaar gedeeld topscorer. Makaay had hiervoor eenendertig interlands nodig, Huntelaar drieëntwintig.
Nederland
Makaay maakte op 5 oktober 1996 zijn debuut voor Oranje en speelde in totaal drieënveertig interlands, waarin hij "slechts" zesmaal scoorde. Zelf wees de spits met betrekking tot dat lage scoringspercentage op het feit dat hij doorgaans als invaller gebruikt werd (hij begon vijftien keer als basisspeler en viel achtentwintig keer in) en vaak op de flanken werd geposteerd in plaats van in de spits[2]. In 2005 raakte Makaay, op dat moment spits van Bayern München, plotseling uit de gratie bij toenmalig bondscoach Marco van Basten. Een duidelijke beargumentering voor deze beslissing bleef uit. Sindsdien kwam Makaay als international alleen nog uit voor het Nederlands olympisch elftal bij de Olympische Zomerspelen 2008 in Peking.
Trainersloopbaan
Feyenoord
Makaay vervulde van 2011 tot 2019 diverse rollen als (assistent-)voetbaltrainer binnen de jeugdopleiding van Feyenoord. Van juli 2015 tot oktober 2019 was Makaay tevens spitsentrainer van het eerste elftal van Feyenoord.
Rangers
Op 18 november 2021 werd bekendgemaakt dat Makaay assistent-trainer zou worden bij Rangers FC, onder trainer Giovanni van Bronckhorst.[3] Na het ontslag van Van Bronckhorst op 21 november 2022 vertrok ook Makaay bij de club.
Bayern München
Op 23 maart 2023 werd bekendgemaakt dat Makaay hoofdcoach zou worden bij Bayern München's World Squad.[4]