Karierę siatkarską rozpoczynał w rodzimym mieście w klubie Korab Puck. W 2000 z drużyną Stolarka Wołomin awansował do Polskiej Ligi Siatkówki, dzięki czemu w kolejnym sezonie zadebiutował w najwyższej klasie ligowej. Następnie był zawodnikiem Polskiej Energii Sosnowiec, z którą 2-krotnie zdobył Puchar Polski (2003, 2004). Kolejne sukcesy osiągnął z drużyną Jastrzębskiego Węgla, wywalczając 2-krotnie tytuł wicemistrza Polski (2006, 2007). W latach 2007–2014 występował w zespole PGE Skry Bełchatów. W ciągu swojej 7-letniej gry w bełchatowskiej drużynie zdobył 5 tytułów mistrza Polski (2008, 2009, 2010, 2011, 2014), trzy razy Puchar Polski (2009, 2011, 2012), 2. miejsce w Lidze Mistrzów (2012) i dwa razy srebro w Klubowych Mistrzostwach Świata (2009, 2010). W 2014 został kapitanem zespołu Czarnych Radom.
Kariera reprezentacyjna
W reprezentacji kraju rozegrał 142 mecze. Jest wicemistrzem świata (Japonia 2006), mistrzem Europy z Turcji (2009), a także olimpijczykiem z Pekinu (2008), gdzie z Polską awansował do ćwierćfinału. Za sukcesy z drużyną narodową został odznaczony Krzyżem Kawalerskim Orderu Odrodzenia Polski i Złotym Krzyżem Zasługi. Ponadto jest 3-krotnym mistrzem Polski w siatkówce plażowej (2002, 2003, 2004).
W wyborach samorządowych w 2018 został wybrany na radnego miasta Puck z ramienia komitetu burmistrz Hanny Pruchniewskiej, uzyskując niemal 85% poparcia w swoim okręgu[4]. W sezonie 2018/2019 został piłkarzem Zatoki 95 Puck, występującej w gdańskiej klasie A[5].
Żonaty z Martą, mają dwie córki: Julię i Lenę. Ma pięcioro rodzeństwa: Wioletę, Piotra, Wiesława, Iwonę i Wojciecha (z którym grał w parze w siatkówkę plażową).