Licencié au club LKS Poroniec Poronin, il fait ses débuts dans la scène internationale en fin d'année 2006 dans la Coupe OPA et la Coupe slave, compétition où intervient son premier podium en 2011 sur un sprint.
Entre 2011 et 2013, il court trois éditions des Championnats du monde des moins de 23 ans, pour se classer une seule fois dans le top 50. Lors de ces saisons, il affiche à chaque fois un classement de troisième en Coupe slave. En 2013, il devient champion de Pologne sur dix kilomètres.
Il fait ses débuts en Coupe du monde en au sprint par équipes de Liberec, avant d'être sélectionné pour les Championnats du monde à Val di Fiemme. Lors de la saison 2013-2014, il est au départ de ses premières courses individuelles en Coupe du monde et enregistre son meilleur résultat cet hiver avec une 43e place au sprint de Szklarska Poręba. Quelques semaines plus tard, il participe aux Jeux olympiques de Sotchi, où il court le skiathlon (63e) et le relais (15e).
Aux Championnats du monde 2017 à Lahti, participant à cinq épreuves, il signe son meilleur résultat individuel en mondial sur le trente kilomètres avec le 34e rang. Il remporte aussi le trente national du trente kilomètres libre cet hiver[1]. En 2018, il termine deuxième de la Bieg Piastów, course marathon la plus importante en Pologne[2]
Pour la saison 2018-2019, il rejoint la Team Bauer, fondée par Lukáš Bauer, en compagnie de Paweł Klisz, pour courir sur le circuit Ski Classics[3].
Son frère Kacper est aussi un fondeur de niveau international.