Weghorst begon met voetballen bij RKSV NEO in zijn geboorteplaats Borne. Op jonge leeftijd wist hij het eerste elftal te halen en bekroonde zich tot clubtopscorer.[1] Na het seizoen vertrok hij naar het op een hoger niveau spelende DETO Twenterand. Hoewel hij daar geen topscorer werd wist hij toch de interesse van een aantal profclubs te wekken. Weghorst koos uiteindelijk voor Willem II. Hoewel hij in de voorbereiding een kans kreeg om zich in het eerste elftal te spelen wist hij niet verder te komen dan spelen voor het beloftenteam van de Tilburgers.
Omdat hij bij het beloftenteam minder speeltijd kreeg dan waar hij op had gehoopt ging hij in op een aanbieding van FC Emmen alwaar hij op 10 augustus 2012 in een wedstrijd tegen FC Dordrecht (1-1) zijn debuut in het betaald voetbal maakte. Zijn eerste goal maakte hij op 21 september 2012, in de met 2-1 gewonnen derby tussen FC Emmen en BV Veendam. Weghorst maakte de 2-1. In zijn debuutseizoen wist hij het tot 28 wedstrijden in het eerste elftal te schoppen waarin hij 8 keer het net wist te vinden. Nadat zijn contract afliep in de zomer van 2014 vertrok hij transfervrij naar Heracles Almelo.
Weghorst debuteerde op 9 augustus 2014 voor Heracles Almelo in de Eredivisie, als invaller tegen AZ. De wedstrijd werd met 0-3 verloren. Weghorst speelde in de volgende twee seizoenen meer dan zestig competitiewedstrijden voor de club. Daarmee stond hij in het seizoen 2014/15 tot twee speelronden voor het einde op een degradatieplaats. Een jaar later werden zijn ploeggenoten en hij zesde en dwongen ze via de play-offs 2016 voor het eerst in de clubhistorie plaatsing voor Europees voetbal af.
Weghorst tekende in juli 2016 een contract tot medio 2020 bij AZ, de nummer vier van het voorgaande seizoen. In zijn verbintenis werd een optie voor nog een jaar opgenomen.[2] Hiervoor maakte hij op 24 november 2016 zijn eerste doelpunt in een Europees toernooi, de winnende 0-1 tijdens een groepswedstrijd in de Europa League uit bij Dundalk FC. Weghorst werd bij AZ een belangrijke schakel. In zijn tweede seizoen maakte hij achttien competitiegoals en behaalde hij met AZ de derde plaats in de Eredivisie en de KNVB Beker bekerfinale. Dit leverde hem een transfer op naar VfL Wolfsburg.
Bij VfL Wolfsburg speelde hij in zijn eerste seizoen (2018/19) vrijwel alle wedstrijden en maakte hij zeventien goals in de Bundesliga. Hij werd clubtopscorer en VfL Wolfsburg zesde, goed voor kwalificatie voor de Europa League.
Weghorst werd op 3 oktober 2014 geselecteerd voor Jong Oranje, zijn eerste selectie voor een vertegenwoordigend nationaal elftal.[3] Hij maakte op 14 oktober 2014 zijn eerste goal voor Jong Oranje, in een play-offwedstrijd tegen het Portugees voetbalelftal onder 21.
Weghorst debuteerde op 23 maart 2018 in het Nederlands voetbalelftal, tijdens een met 0-1 verloren oefeninterland thuis tegen Engeland. Hij kwam in de 89e minuut in het veld als vervanger voor Stefan de Vrij. Hij ging in de selectie van Oranje concurreren met Luuk de Jong om de rol van pinch-hitter.