Wychowanek Wisły Płock, w barwach której zadebiutował w sezonie 2009/2010 w Ekstraklasie. W sezonie 2010/2011, w którym rozegrał trzy mecze i rzucił pięć goli, zdobył z płockim klubem mistrzostwo Polski. Występował wtedy jednak przede wszystkim w drugim zespole Wisły, będąc jego najlepszym strzelcem w I lidze – w 16 meczach rzucił 115 bramek[2]. W latach 2011–2014 był zawodnikiem Górnika Zabrze, z którym w sezonie 2013/2014 wywalczył brązowy medal mistrzostw Polski.
W 2014 przeszedł do Gwardii Opole, z którą w sezonie 2014/2015 awansował do Superligi. W sezonie 2015/2016, w którym rozegrał 27 meczów i zdobył 100 goli, był najlepszym strzelcem Gwardii w najwyższej klasie rozgrywkowej[3]. W sezonie 2016/2017 wystąpił w 28 meczach i rzucił 86 bramek[4]. W sezonie 2017/2018 rozegrał w Superlidze 34 spotkania, w których zdobył 136 goli[5], a także został nominowany, obok Deana Bombača i Jakuba Morynia, do nagrody dla najlepszego środkowego rozgrywającego ligi[6]. Ponadto w sezonie 2017/2018 wystąpił w czterech meczach Pucharu EHF, w których rzucił 10 bramek[1]. W sezonie 2018/2019 rozegrał w Superlidze 11 spotkań i zdobył 30 goli. W grudniu 2018 na treningu reprezentacji Polski uszkodził więzadła krzyżowe, co wykluczyło go z gry na kilka miesięcy[7].
W grudniu 2011 wystąpił w barwach reprezentacji Polski B w turnieju Christmas Cup na Słowacji, podczas którego zdobył cztery bramki w trzech meczach. Do gry w kadrze B powrócił w kwietniu 2016 – wystąpił wówczas w dwumeczu z Norwegią B, w którym rzucił sześć goli[8], oraz dwumeczu z Węgrami B[9].