Nilsson nahm bis 2012 an Juniorenwettbewerben teil. Beim Europäischen Olympischen Winter-Jugendfestival 2011 gewann sie den Sprintwettbewerb. Bei den schwedischen Juniorenmeisterschaften 2010 und 2011 holte sie Gold im Sprint. In der Saison 2011/12 nahm sie am Scandinavian-Cup teil, wo sie zwei Sprintwettbewerbe gewinnen konnte. Bei den nordischen Junioren-Skiweltmeisterschaften 2012 in Erzurum holte sie Gold im Sprint und Silber mit der Staffel. Ihr erstes Weltcup-Rennen hatte sie im März 2012 in Drammen. Im Sprintwettbewerb belegte sie den 23. Platz und holte damit ihre ersten Weltcuppunkte. In der ersten Hälfte der Saison 2012/13 nahm sie am Scandinavian-Cup teil. Nach guten Ergebnissen durfte sie im 2013 in Liberec wieder am Weltcup teilnehmen. Sie belegte im Teamsprint zusammen mit Ida Ingemarsdotter den zweiten Platz. Bei den nordischen Junioren-Skiweltmeisterschaften 2013 in Liberec gewann sie Gold im Sprint und mit der Staffel. Bei den nordischen Skiweltmeisterschaften 2013 im Val di Fiemme erreichte sie den fünften Platz im Sprint. Die Saison 2013/14 beendete sie mit dem 12. Platz im Sprintweltcup. Im März 2014 schaffte sie mit dem dritten Platz im Sprint ihren ersten Podestplatz im Weltcup. Bei den Olympischen Winterspielen 2014 in Sotschi gewann sie Bronze im Teamsprint zusammen mit Ida Ingemarsdotter. Im Sprintwettbewerb erreichte sie den 10. Platz.
Zu Beginn der Saison 2014/15 belegte Nilsson den 21. Platz bei der Nordic Opening in Lillehammer. Beim Weltcupsprintrennen in Davos errang sie den zweiten Platz. Es folgten weitere Podestplatzierungen in Otepää mit dem zweiten Platz im Sprint und einem Sieg im Teamsprint und in Östersund ein dritter Platz im Sprint. Bei den Nordischen Skiweltmeisterschaften 2015 in Falun holte sie Silber im Sprint, im Teamsprint zusammen mit Ida Ingemarsdotter und mit der Staffel. Die Saison beendete sie auf dem 12. Platz im Gesamtweltcup, auf dem vierten Rang in der Sprintwertung und auf dem ersten Platz in der U23-Wertung. Zu Beginn der Saison 2015/16 belegte sie den zweiten Platz bei der Nordic Opening in Ruka. Dabei wurde sie bei der Sprint- und der Abschlussetappe jeweils Zweite. Es folgte ein Weltcupsieg im Sprint in Davos und ein dritter Rang im Sprint in Toblach. Die Tour de Ski 2016 beendete sie auf dem 24. Platz. Ihre besten Platzierungen dabei waren zwei sechste Plätze bei Sprints in Lenzerheide und in Oberstdorf. Beim folgenden Weltcup in Planica siegte sie im Sprint und zusammen mit Ida Ingemarsdotter im Teamsprint. Im Februar 2016 kam sie mit dem dritten Platz beim Sprint in Stockholm erneut aufs Podest. Bei der Ski Tour Canada, die sie vorzeitig beendete, belegte sie bei der Sprintetappe in Gatineau den zweiten Platz und siegte bei der Sprintetappe in Quebec. Die Saison beendete sie auf dem 11. Platz im Gesamtweltcup, auf dem dritten Rang im Sprintweltcup und wie im Vorjahr auf dem ersten Platz in der U23-Wertung.
Bei der ersten Weltcupstation der Saison 2016/17 in Ruka holte Nilsson im Sprint ihren vierten Weltcupsieg. Es folgte der fünfte Platz bei der Weltcup-Minitour in Lillehammer. Beim Weltcup in La Clusaz wurde sie Dritte mit der Staffel. Die Tour de Ski 2016/17 beendete sie mit vier Etappensiegen auf dem dritten Platz. Im Januar 2017 siegte sie im Sprint in Falun. Auch die folgenden Sprintweltcups in Otepää und in Drammen konnte sie gewinnen. Anfang Februar 2017 wurde sie bei den schwedischen Meisterschaften Zweite im Skiathlon. Beim Saisonhöhepunkt, den Nordischen Skiweltmeisterschaften 2017 in Lahti, holte sie die Silbermedaille mit der Staffel. Zudem belegte sie den 26. Platz im Skiathlon, den 13. Rang über 10 km klassisch und den 12. Platz im Sprint. Zum Saisonende kam sie beim Weltcup-Finale in Québec auf den dritten Platz in der Gesamtwertung. Dabei siegte sie bei der Sprintetappe und errang den dritten Platz bei der Abschlussetappe. Die Saison beendete sie auf dem sechsten Platz im Distanzweltcup, auf dem vierten Rang im Gesamtweltcup und auf dem zweiten Platz im Sprintweltcup. Zu Beginn der Saison 2017/18 siegte sie bei der Sprintetappe beim Ruka Triple und belegte den siebten Gesamtrang. Es folgten weitere Siege im Sprint in Davos und in Planica und ein zweiter Rang in Dresden zusammen mit Hanna Falk im Teamsprint. Bei den Olympischen Winterspielen 2018 in Pyeongchang holte sie die Bronzemedaille im 30-km-Massenstartrennen, jeweils die Silbermedaille mit der Staffel und zusammen mit Charlotte Kalla im Teamsprint und die Goldmedaille im Sprint. Zum Saisonende wurde sie in Lahti und Drammen jeweils Zweite im Sprint und erreichte den 12. Platz im Gesamtweltcup und den zweiten Rang im Sprintweltcup. Ende März 2018 wurde sie in Skellefteå schwedische Meisterin im Sprint.
Nach Platz zwei im Sprint bei der Lillehammer Tour, die sie auf dem sechsten Platz beendete, zu Beginn der Saison 2018/19, gewann Nilsson fünf Sprintrennen im Einzel und in Dresden zusammen mit Maja Dahlqvist den Teamsprint. Beim Saisonhöhepunkt, den Nordischen Skiweltmeisterschaften 2019 in Seefeld in Tirol, holte sie die Silbermedaille im Sprint und jeweils die Goldmedaille im Teamsprint zusammen mit Maja Dahlqvist und mit der Staffel. Beim Weltcupfinale in Quebec gewann sie mit Siegen im Sprint und im Massenstartrennen über 10 km klassisch die Gesamtwertung und erreichte abschließend den fünften Platz im Gesamtweltcup und den ersten Rang im Sprintweltcup. Anfang April 2019 wurde sie zusammen mit Anna Dyvik schwedische Meisterin im Teamsprint.
Im Sommer 2019 zog sich Nilsson in der Vorbereitung auf die Saison 2019/20 einen Rippenbruch zu und musste mehrere Wochen pausieren. Dennoch erreichte sie zu Beginn der Saison in jedem Sprint das Finale und wurde in Planica sowohl im Einzel- als auch im Teamsprint Zweite. Die Tour de Ski brach sie aufgrund erneuter Schmerzen im Rippenbereich nach der ersten Etappe ab. Schließlich wurde ein Ermüdungsbruch diagnostiziert und Nilsson entschied sich im Februar 2020, ihre Saison zu beenden.
Ende März 2020 gab Stina Nilsson bekannt, dass sie zur Saison 2020/21 zum Biathlon wechselt. Sie erlernte das Schießen bei Jean-Marc Chabloz, wurde sofort in die A-Mannschaft unter der Leitung von Johannes Lukas aufgenommen und trainiert mit dieser in Östersund.
Ihre ersten Wettkämpfe bestritt Nilsson im November 2020 bei der international besetzten Saisoneröffnung des Schwedischen Biathlonverbands in Idre. Dort erreichte sie im Sprint den elften und im verkürzten Einzel den 27. Platz. Im Januar wurde sie für den Auftakt des IBU-Cups 2020/21 am Arber nominiert, wo sie in zwei Sprints nur die Plätze 99 und 69 erreichte. Bei ihrem ersten Biathlon-Weltcup in Nove Mesto erreichte sie mit den Rängen 26 im Sprint und 22 in der Verfolgung auch gleich ihre ersten Punkte-Platzierungen. Im Gesamtweltcup wurde sie 71. Ihre erste Stockerlplatzierung erreichte die Schwedin am 5. März 2022 im finnischen Kontiolathi, als sie im Sprint Dritte vor ihrer Landsfrau Hanna Öberg wurde.