Kamiński jest wychowankiem klubu ze swojego rodzinnego miasta – Aluminium Konin, skąd w 2005 trafił do juniorskiej drużyny Lecha Poznań. W 2009 został włączony do pierwszej drużyny Lecha. Debiut w Ekstraklasie zaliczył 21 listopada 2009 w wygranym meczu przeciwko Ruchowi Chorzów[1]. W debiutanckim sezonie 2009/2010 wystąpił 4 razy na ekstraklasowych boiskach i zdobył z Lechem mistrzostwo Polski. Od sezonu 2011/2012 był podstawowym zawodnikiem poznańskiej drużyny, z którą dwukrotnie sięgał po wicemistrzostwo kraju (sezony 2012/2013 i 2013/2014), a w sezonie 2014/2015 wywalczył kolejne mistrzostwo Polski.
W czerwcu 2016 podpisał trzyletni kontrakt z VfB Stuttgart[2]. W pierwszym zespole zadebiutował 30 października 2016 w wygranym 3:1, meczu 2. Bundesligi przeciwko Karlsruher[3]. Swojego pierwszego gola dla Stuttgartu zdobył 5 kwietnia 2017, w doliczonym czasie gry ligowego meczu z TSV 1860 Monachium, zapewniając drużynie remis 1:1[4]. W sezonie 2016/17, wygrał z VfB rozgrywki 2. Bundesligi i tym samym awansował z tym klubem do Bundesligi, natomiast sam wystąpił w 23 spotkaniach, strzelając 1 bramkę[5]. 19 sierpnia 2017, w przegranym 0:2 meczu z Herthą, zadebiutował w Bundeslidze[6]. 24 sierpnia 2018 Polski obrońca został wypożyczony z klubu VfB Stuttgart do klubu Fortuna Düsseldorf gdzie wystąpił w 27 meczach w których zaliczył jedną asystę. Po sezonie 18/19 wrócił do VfB Stuttgart. 30 czerwca 2021 kontrakt polskiego środkowego obrońcy z klubem VfB Stuttgart wygasł. 1 lipca 2021 podpisał dwuletni kontrakt z wówczas drugoligową drużyną FC Schalke 04 w której zagrał 35 meczów strzelając 3 bramki i zaliczając 3 asysty. Wraz z drużyną FC Schalke 04 po roku awansowali do najwyższego szczeblu rozgrywek, czyli Bundesliga niemiecka w piłce nożnej.
Kariera reprezentacyjna
W 2009 został włączony do kadry pierwszego zespołu Lecha, z którym to zdobył tytuł mistrza Polski. 16 grudnia 2011 w meczu z Bośnią i Hercegowiną zadebiutował w reprezentacji Polski.
2 maja 2012 został powołany przez Franciszka Smudę do szerokiej, 26-osobowej kadry na Euro 2012. Następnie znalazł się w ostatecznym składzie, ogłoszonym przez selekcjonera Franciszka Smudę, na Euro 2012, jednak w samym turnieju nie wystąpił podczas meczu.