Przed rundą wiosenną sezonu 2002/2003 podpisał kontrakt z trzecioligową Cracovią, która budowała wówczas zespół z myślą o powrocie na szczebel centralny. Z krakowskim klubem awansował kolejno do II ligi, a następnie – po barażach z Górnikiem Polkowice – do Ekstraklasy w sezonie 2003/2004.
W Ekstraklasie zadebiutował 30 lipca 2004 roku w wyjazdowym meczu Cracovii z Zagłębiem Lubin. W debiutanckim sezonie 2004/2005 rozegrał 24 mecze ligowe, zdobył 3 bramki i otrzymał 8 żółtych kartek. Opisywano go wówczas jako dobrego technicznie, twardego i zadziornego pomocnika, bez którego trudno sobie wyobrazić drugą linię „Pasów”. W kolejnych sezonach należał do podstawowych zawodników zespołu i jednego z najczęściej karanych żółtymi kartkami graczy ligi.
W sezonie 2005/2006 został uznany za najostrzej grającego piłkarza Orange Ekstraklasy – w rozgrywkach otrzymał 10 żółtych i 2 czerwone kartki. Przedstawiano go wtedy jako bardzo solidnego, twardego i nieustępliwego defensywnego pomocnika, który często spóźnia się z interwencjami, co kończy się ostrymi faulami, ale skutecznie odbiera chęć gry środkowym pomocnikom przeciwnika.