Redan som 18-åring blev Dahl Tomasson proffs i den nederländska klubben SC Heerenveen där han gjorde succé. Efter tre år i klubben flyttade han till England och Newcastle United men i England gick det inte lika bra, och efter ett år i klubben återvände han till Nederländerna, denna gång för Feyenoord. Där han vann både ligan och UEFA cupen. I UEFA-cupens final den 8 maj 2002 gjorde han det avgörande målet. Efter några framgångsrika år i Nederländerna flyttade Dahl Tomasson till Italien och storlaget AC Milan. Första året hade han svårt att ta en plats i Milan som redan hade många anfallare. Hans andra säsong i klubben gick bättre efter att Filippo Inzaghi blivit skadad och i sin tredje och sista säsong i klubben var han med om att ta AC Milan till final i Uefa Champions League genom att bland annat göra mål i semifinalen mot PSV Eindhoven. I finalen mot Liverpool FC den 24 maj 2005 blev det förlängning som avgjordes med straffsparkar. En av dessa gjordes av Dahl Tomasson för Milan vilket resulterade i ett mål. Trots det förlorade Milan straffsparksläggningen och därmed finalen. Säsongen därefter spelade han i Stuttgart och sedan i Villarreal innan han år 2008 återvände till Nederländerna och Feyenoord där han avslutade sin aktiva spelarkarriär år 2011.
Jon Dahl debuterade i Danska landslaget mot Kroatien1997 och gjorde under sina 13 år i landslaget (1997-2010) 52 mål, vilket är tangerat mest i danska landslaget genom tiderna.
Jon Dahl Tomassson hade efter sin aktiva karriär olika tränaruppdrag i Nederländerna innan han i 2016 presenterades som assistent för danska landslaget under nytillträdde förbundskaptenen Åge Hareide.