Urodzony w Gliwicach Michał Karwan przygodę z piłką nożną rozpoczynał w 1996 roku w Tomasovii Tomaszów Lubelski. Stamtąd po roku przeniósł się do GKS Katowice, a następnie do katowickiego Rozwoju. W drużynach ze stolicy Górnego Śląska występował w sumie przez sześć lat. W sezonie 2002/03 trafił do występującej na zapleczu ekstraklasy drużyny Świtu Nowy Dwór Mazowiecki, lecz po roku znów wrócił na Śląsk, gdzie podpisał kontrakt z Górnikiem Zabrze. W barwach zabrzańskiego klubu występował w latach 2003-05 i był kluczowym obrońcą jedenastki z Roosevelta.
Latem 2005 roku Karwan otrzymał ofertę przejścia do Cracovii Kraków, z której skorzystał i tym samym w znacznym stopniu podreperował budżet drużyny 14-krotnych mistrzów Polski słaniającej się na skraju bankructwa. Barwy krakowskiego klubu reprezentował do sezonu 2008/09. Kilka dni temu usłyszał jednak od szkoleniowca Pasów Artura Płatka, że ten nie widzi dla niego miejsca w pierwszej drużynie i zdecydował się opuścić klub z grodu Kraka.
Otrzymał ofertę powrotu do Zabrza, z której skorzystał i podpisał z Górnikiem kontrakt do czerwca 2011 roku, z możliwością przedłużenia umowy o kolejny sezon. W drużynie trenera Ryszarda Komornickiego rosły obrońca będzie tworzył parę stoperów wraz z Michałem Pazdanem. Niewykluczone, że debiut w trójkolorowym trykocie Karwan zaliczy już przy okazji poniedziałkowego meczu ligowego z Wisłą Płock. Dotychczas w barwach Górnika 30-letni obrońca zaliczył 47. spotkań, w których strzelił jedną bramkę. Było to dla niego jedyne jak na razie trafienie w najwyższej klasie rozgrywkowej.