È un difensore centrale, capace di giocare anche da mediano; è dotato di un buon palleggio e di senso della posizione, nonché abile nella marcatura ad uomo.[1] È stato paragonato al connazionale Kamil Glik.[2]
Cresciuto nei settori giovanili di squadre polacche come lo Stal Mielec, nel 2012 viene ceduto alla Reggina, portato nella squadra calabrese da Nicola Amoruso.[3] Dopo aver raccolto 11 presenze in campionato, nel 2014 viene acquistato per un milione di euro dall'Udinese, con cui firma un quinquennale.[2][4] Trascorre una stagione con la formazione Primavera del club friulano, per poi passare in prestito due stagioni al Granada B.[5][6] Debutta quindi con l'Udinese il 30 novembre 2017, nella partita di Coppa Italia vinta per 8-3 contro il Perugia, sostituendo al 73º minuto Giuseppe Pezzella.[7] Il 18 gennaio 2018 si trasferisce a titolo temporaneo al Górnik Zabrze.[8]