Вихованець академії львівських«Карпат», куди потрапив у юнацькому віці. У чемпіонаті України (ДЮФЛ) грав за команду «УФК Карпати» (Львів). У сезоні 2012/13 був заявлений «Карпатами» на матчі Прем'єр-ліги, але дебютувати йому так і не вдалося. У тому сезоні Роман двічі пробився до основного складу, проте в обох випадках він залишився у запасі.
Більшість матчів провів за молодіжний склад «зелених левів», також на початку кар'єри, а саме в 17-річному віці провів один сезон у другій лізі України виступаючи за «Карпати-2», в тому ж сезоні Роман разом із командою брали участь в першому та єдиному розіграші кубка української ліги. Згодом провів і ще два сезона за другу карпатівську команду але це вже був аматорський рівень.
У 2014 році на правах оренди перейшов до складу тернопільської «Ниви», де зміг закріпитися і стати ключовим гравцем першолігової команди. У лютому 2016 року став гравцем «Полтави», у складі якої зіграв 12 матчів і у грудні того ж року залишив команду.
1 березня 2017 року підписав контракт з «Буковиною»[1]. У липні 2017 року припинив співпрацю з чернівецькою командою та став гравцем ФК «Тернополя»[2]. Але незабаром тернопільська команда припинила виступи в першості України, а Роман перейшов до складу ФК «Нива» (Вінниця)[3], з якою влітку 2018 року продовжив контракт і ще на один рік (хоч при цьому зазнав важкої травми, яка призвела до тривалого лікування та реабілітації)[4][5].
У лютому 2019 року підписав контракт з «Калушом», який перед стартом весняної частини являвся одним із лідерів друголігової першості[6]. В результаті за калуський клуб Роман виступав до зимового міжсезоння 2019/20 та за цей час провів 20 офіційних матчів.