La storia del suo cognome risalirebbe al diciassettesimo secolo. Nel 1600 due famiglie di proprietari terrieri olandesi decisero di unire le due loro casate. Le due famiglie benestanti, i Vennegoor e gli Hesselink, avevano lo stesso peso sociale, quindi vollero mantenere entrambi i cognomi. “Of” in olandese significa “o”: la traduzione del suo cognome (in italiano) sarebbe quindi “Vennegoor o Hesselink”. Ha esordito in Eredivisie nel 1996 col Twente di Enschede. Comincia subito a mostrare doti da centravanti e a segnare molti gol: 21 nella stagione 1998-1999, 19 in quella successiva. Nel 2001 arriva la "promozione": viene ceduto al PSV Eindhoven, una delle tre grandi olandesi.
Ad Eindhoven si dimostra un riuscitissimo acquisto: nella stagione 2001-2002 segna 22 gol in Eredivisie, superando l'altro bomber della squadra Mateja Kežman, che si ferma a 15. La stagione successiva è però il serbo a trascinare i Boeren: 35 gol, contro gli 8 di Jan. Nel 2003-2004 ancora 31 gol per Kežman, 12 per Jan.
Con la partenza di Kežman, Jan trova più possibilità di segnare: 19 reti il bottino del torneo 2004-2005. La stagione successiva mette a referto solo 11 gol in campionato, ma ciononostante si guadagna la convocazione per i Mondiali, superando la concorrenza di Huntelaar, che di gol ne aveva fatti 37. Nel 2006 è stato ceduto al Celtic, dove è rimasto fino al giugno 2009. Il 3 settembre 2009, svincolato, si accorda con l'Hull City firmando un contratto biennale.
Dopo la retrocessione della formazione britannica, raggiunge un accordo per la risoluzione del contratto e passa nel campionato austriaco firmando un biennale con il Rapid Vienna[1]. Il 10 giugno 2011 rescinde consensualmente il contratto che lo legava al Rapid Vienna[2]
Il 3 novembre seguente torna nei Paesi Bassi firmando un contratto fino al termine della stagione con il PSV, squadra con la quale aveva già giocato dal 2001 al 2006.[3] Fa il suo esordio in campionato tre giorni dopo in PSV-Heracles Almelo 4-1 subentrando a Tim Matavž al minuto 88. L'8 aprile 2012, seppur non giocando, vince la Coppa d'Olanda per 3-0 contro l'Heracles Almelo. Tre giorni dopo segna il suo primo gol in campionato nella sconfitta per 2-1 contro il RKC Waalwijk. Si ripete il 22 aprile nella vittoria per 2-1 contro il NEC Nimega. Il 15 maggio annuncia il suo ritiro dal calcio giocato. Scout del PSV dal 2014, l’11 ottobre 2018 viene promosso direttore dello scouting al posto di De Jong.[4]