Cresciuto nelle giovanili del PSV Eindhoven, nel 2006 è stato acquistato dall'Ajax per € 9 milioni. Con i Lancieri, Huntelaar si fa conoscere a livello internazionale, mantenendo una media realizzativa notevole (0,77) durante le sue quattro stagioni ad Amsterdam, vincendo due Coppe (2006 e 2007) e due Supercoppe d'Olanda (2006 e 2007). Si trasferisce prima al Real Madrid, poi al Milan, deludendo le aspettative con entrambe le maglie. Nel 2010 passa allo Schalke 04, dove vince una Coppa e una Supercoppa di Germania nel 2011. La stagione 2011-2012 è la sua migliore dal punto di vista realizzativo: firma 48 gol in 48 incontri, vince il suo quarto titolo di capocannoniere e segna 14 gol in UEFA Europa League. Il 5 maggio 2019 realizza una doppietta in finale contro il Willem II vincendo per la terza volta nella sua carriera la Coppa d'Olanda; nello stesso mese vince anche il suo primo campionato.
Dopo aver vinto un Europeo Under-21 nel 2006, partecipa a due Europei (2008 e 2012) e a due Mondiali (2010 e 2014) con la nazionale maggiore.
Biografia Dal 2000 Huntelaar ha una relazione con l'olandese Maddy Schoolderman. Il 9 aprile 2009 è nato a Madrid il loro primo figlio, di nome Blank.
Caratteristiche tecniche Huntelaar è un attaccante di ruolo, molto efficace in area di rigore e bravo nel gioco aereo. Ambidestro, è spesso autore di reti in acrobazia, specialmente in rovesciata. Ottimo finalizzatore, si è affermato come capocannoniere dell'Eredivisie 2005-2006 (33 gol segnati in 31 gare), di quella 2007-2008 (33 gol segnati in 34 gare), dell'Europeo Under-21 2006 e della Bundesliga 2011-2012 (29 reti in 32 partite). È stato soprannominato per il suo cognome The Hunter (in italiano "il cacciatore") per il suo fiuto del gol. Si trova più a suo agio da unica punta con due ali ai lati.
Carriera Club Gli inizi e il PSV
Huntelaar ha iniziato la propria carriera professionistica nelle file del PSV Eindhoven. Dopo solo una presenza in campionato è stato ceduto in prestito al De Graafschap e, in seguito, all'AGOVV Apeldoorn. Nel 2004 l'Heerenveen lo ha acquistato dal PSV, dandogli l'opportunità di mettersi in mostra in Eredivisie come titolare. Il giovane attaccante ha realizzato 17 reti in 31 partite nella stagione 2004-2005, e altre 17 in soli 15 incontri di campionato nella prima metà della stagione successiva.
Ajax
Nella sessione di calciomercato del gennaio 2006 è stato acquistato dall'Ajax per 9 milioni di euro. Inizialmente ha vestito la maglia numero 25; in seguito, divenuto il vice-capitano della squadra, ha indossato il numero 9, maglia appartenuta negli anni ottanta a Marco van Basten. In quella restante metà di stagione ha messo a segno altre 16 reti in altrettante gare, vincendo ampiamente la classifica marcatori (33 reti in 31 partite).
Nella stagione 2006-2007 ha segnato nuovamente molti gol; la sua squadra è riuscita a raggiungere al termine della stagione il PSV in vetta alla classifica, non però a conquistare il titolo nazionale, vinto dai rivali per via della classifica avulsa favorevole. Il 6 maggio 2007 si è svolta la finale di KNVB beker tra Ajax e AZ Alkmaar, vinta ai rigori dai lancieri: l'attaccante ha siglato il gol del momentaneo pareggio.
Nella stagione 2007-2008 Huntelaar si è laureato nuovamente capocannoniere del campionato, con 33 reti in 34 incontri disputati. Nonostante la presenza in squadra del miglior realizzatore nazionale, l'Ajax ha fallito la qualificazione alla Champions League 2008-2009: dopo aver perso contro il Twente i play-off di qualificazione, ha infatti preso parte alla Coppa UEFA 2008-2009.
In totale con l'Ajax ha disputato 136 partite ufficiali realizzando 105 gol.
Real Madrid
Il 2 dicembre 2008 il Real Madrid ha annunciato ufficialmente l'acquisto di Huntelaar per 27 milioni di euro. Il giocatore ha debuttato con la nuova maglia il 4 gennaio 2009 in Real Madrid-Villarreal 1-0, giocando, da subentrante, per 56 minuti.
Per un errore della dirigenza madrilena non è stato inserito nella lista Champions, poiché il regolamento UEFA prevedeva la possibilità di inserire a gennaio un solo giocatore che avesse già disputato un'altra competizione UEFA nella stagione in corso. Il Real Madrid, che avrebbe invece voluto inserire sia Huntelaar sia Lassana Diarra, prelevato dal Portsmouth, ha così scelto di inserire il centrocampista francese e non l'attaccante olandese.
Il 15 febbraio 2009 ha segnato il primo gol con il club madrileno nella vittoria esterna per 4-0 contro lo Sporting Gijón. In sei mesi con i Blancos ha totalizzato 20 presenze e segnato otto reti.
Milan Il 6 agosto 2009 il Milan ha raggiunto l'accordo con il Real Madrid per l'acquisto dell'olandese per 15 milioni di euro; il giorno dopo, superate le visite mediche, Huntelaar ha firmato un contratto valido fino al 30 giugno 2013, diventando ufficialmente un giocatore rossonero.
Dopo aver saltato la prima partita della Serie A 2009-2010 per una squalifica rimediata nella Liga, ha esordito con il Milan il 29 agosto 2009 nel derby perso 4-0 contro l'Inter, subentrando al 64º minuto di gioco a Ronaldinho. Il 29 novembre 2009 ha segnato le prime reti in Serie A con una doppietta nei minuti di recupero nella partita vinta in trasferta per 2-0 contro il . Ha concluso la stagione 2009-2010 con 30 partite disputate con 7 reti segnate, tutte in campionato.
Schalke 04
Il 31 agosto 2010 è stato acquistato per 14 milioni di euro dallo Schalke 04, con cui ha firmato un contratto triennale fino al 30 giugno 2013.
Ha esordito con la maglia della squadra tedesca il 10 settembre 2010 contro l'Hoffenheim, anticipo della terza giornata di Bundesliga 2010-2011 perso 2-0. Il 19 settembre 2010 ha realizzato il primo gol per lo Schalke 04, segnando l'unica rete della propria squadra nella sconfitta per 3-1 in casa contro il Borussia Dortmund. Huntelaar ha segnato anche nella successiva partita di campionato del 22 settembre 2010 in casa del Friburgo, realizzando la rete del definitivo 1-2 che è valsa allo Schalke 04 la prima vittoria stagionale. Il 21 maggio 2011 ha segnato una doppietta nella finale di Coppa di Germania vinta per 5-0 contro il .
Ha iniziato la stagione 2011-2012 vincendo la Supercoppa di Germania contro il Borussia Dortmund (4-3 ai rigori dopo lo 0-0 al termine di tempi regolamentari e supplementari) e segnando una quaterna nel primo turno della Coppa di Germania 2011-2012 contro il Teningen, una tripletta nella seconda giornata di campionato nel 5-1 in rimonta contro lo Stoccarda e un'altra quaterna (due gol su rigore) nel ritorno degli spareggi della Europa League 2011-2012 contro lo HJK Helsinki. A fine stagione le reti realizzate sono state 48 in 48 partite disputate, di cui 29 in campionato, 5 in Coppa di Germania e 14 in Europa League.4 gol nei preliminari e 10 nella fase finale. Le 29 reti segnate in Bundesliga gli hanno valso anche il titolo di capocannoniere del massimo campionato tedesco, ottenuto grazie a una doppietta nell'ultima giornata che gli ha consentito di superare Mario Gómez (28).
Alla fine del 2012 ha prolungato il proprio contratto con lo Schalke 04 fino al 30 giugno 2015. Anche nella stagione 2012-2013, come già in quella precedente, Huntelaar è risultato il miglior marcatore della squadra tedesca con 16 gol totali in 35 partite.
All'inizio della stagione 2013-2014, dopo aver segnato 3 gol in altrettante partite, si è infortunato procurandosi la rottura parziale del legamento collaterale mediale del ginocchio destro in uno scontro con il portiere del Wolfsburg Diego Benaglio. Dopo il rientro, avvenuto nell'ottobre 2013, si è subito nuovamente infortunato allo stesso ginocchio nel corso di un allenamento ed è stato costretto a rimanere fermo fino alla fine dell'anno. È tornato in campo il 26 gennaio 2014 nella prima partita annuale in casa dell'Amburgo, nella quale è stato schierato come capitano e ha segnato il primo dei 3 gol con cui la squadra di Gelsenkirchen ha battuto quella di Amburgo. Il 26 febbraio seguente, nella prima partita personale in Champions League 2013-2014 valevole come gara di andata degli ottavi di finale, ha segnato contro il Real Madrid, sua ex squadra, l'unico gol dello Schalke nella sconfitta casalinga per 6-1. Il 3 maggio 2014 ha disputato contro il Friburgo la sua 100ª partita in Bundesliga, nella quale è anche andato a segno per la 59ª volta. Il 31 ottobre 2014, nella gara casalinga contro l'Augsburg, segna il gol partita che regala la vittoria ai suoi.
Ritorno all’Ajax Nel giugno 2017 fa il suo ritorno all'Ajax, squadra in cui nel primo anno segna 13 gol in 32 partite tra campionato e coppe.
Con il gol segnato il 3 aprile 2019 nella vittoria esterna per 2-5 sull'Emmen tocca quota 100 in Eredivisie. Dieci giorni dopo torna a segnare una tripletta - in Ajax-Excelsior 6-2 - a distanza di quattro anni dall'ultima volta, che risaliva al 29 novembre 2014 (Schalke-Magonza 4-1), risultando così il giocatore più anziano dell’Ajax ad essere autore di una tripletta in Eredivisie. Il 5 maggio segna una doppietta nella finale di KNVB beker, vinta per 0-4 contro il Willem II; con cinque reti in tre diverse edizioni (due nel 2006 contro il PSV, una nel 2007 contro l’AZ e due ora appunto) è dietro solo a Johan Cruijff, la cui firma è stata impressa ben sei volte nelle gare che hanno assegnato il trofeo. Con 16 gol contribuisce alla vittoria del campionato olandese, il primo della sua carriera; sono 23 i gol segnati e 7 gli assist sfornati in 42 partite stagionali.
Nel 2019-2020 mette insieme 32 presenze e 10 gol, mentre nel corso della stagione seguente supera le 250 presenze con l’Ajax e le 650 complessive con i club annunciando di volersi ritirare alla fine di questa annata proprio dopo aver raggiunto il traguardo dei 150 gol, segnati in Eredivisie in Ajax-PEC 4-0 del 12 dicembre 2020. Il 14 gennaio 2021 in occasione di Twente-Ajax 1-3 gioca la sua partita numero 500 nei vari campionati risultando ancora una volta determinante poiché, entrato al minuto 89 sull’1-1, segna una doppietta in soli due minuti ribaltando il risultato. Questa sarà la sua ultima partita giocata con l’Ajax - la numero 257 con 158 gol segnati e 7 trofei vinti in 6 anni e mezzo.
Ritorno allo Schalke e l'ultima esperienza amatoriale Davanti alla prospettiva di giocare sempre meno con l'Ajax - per via dell’arrivo di Sébastien Haller - e dopo aver saltato il Klassieker del 17 gennaio per un problema al polpaccio, il 19 gennaio fa ritorno dopo quattro anni allo , con cui firma un contratto fino a fine stagione, per aiutarlo a salvarsi in Bundesliga (visto l'ultimo posto in classifica occupato dalla squadra tedesca). Con il gol siglato nella sconfitta per 2-1 contro il Bayer Leverkusen del 3 aprile 2021, diventa il marcatore più anziano della storia dello Schalke in Bundesliga a 37 anni e 234 giorni battendo il record del portiere Oliver Reck. Con 2 gol segnati in 9 apparizioni non riesce ad evitare la retrocessione del club che il 3 giugno annuncia che non gli rinnoverà il contratto in scadenza a fine mese.
A fine settembre rimette gli scarpini ai piedi per giocare nel HC’03 di Drempt, la sua città natale, che milita nei campionati amatoriali.
Nazionale Nazionali giovanili Con la nazionale olandese Under-16 Huntelaar ha partecipato all'Europeo di categoria del 2000, dove i Paesi Bassi i sono classificati al terzo posto, collezionando 5 presenze e due gol.
Con la nazionale Under-18 tra ottobre e dicembre del 2002 ha preso parte a 3 partite di qualificazione all'Europeo Under-18 2001 segnando altrettanti gol e nel maggio dell'anno seguente alla gara di ritorno dei play-off per l'ammissione alla fase finale persa contro la Danimarca. Sempre nel 2001 con l'Under-19 ha partecipato alle qualificazioni per l'Europeo Under-19 (che nel frattempo aveva sostituito l'Under-18) del 2002 durante le quali ha disputato 5 gare segnando 3 reti.