Solista Opery i Filharmonii Podlaskiej. Współpracuje z najważniejszymi scenami opero­wymi w Polsce, m.in. z Teatrem Wielkim Operą Narodową w Warszawie, gdzie występował w Umarłym Mieście E.W. Korngolda (Frank/Pierrot), Madame Butterfly G. Pucciniego (Sharpless), Królu Rogerze K. Szymanowskiego (Edrisi) oraz Halce S. Moniuszki (debiut w roli Janusza) w reżyserii M. Trelińskiego. Jest wieloletnim solistą Opery Bał­tyckiej w Gdańsku, a na scenie tego teatru wystę­pował w licznych spektaklach reżyserowanych przez Marka Weissa (Grzesińskiego), takich jak: Carmen G. Bizeta (Escamillo), Eugeniusz Oniegin P. Czajkowskiego (Oniegin), Madame Curie E. Sikory (Langevin), Otello G. Verdiego (Jago), Così fan tutte W.A. Mozarta (Guglielmo). Na sce­nie gdańskiej opery wystąpił również w Graczach D. Szostakowicza w reż. Andrzeja Chyry oraz w Ubu Rex K. Pendereckiego w reż. J. Wiśniew­skiego. Udany debiut w Operze Wrocławskiej w tytułowej roli w Eugeniuszu Onieginie przy­niósł angaże do kolejnych produkcji. Tomasz Rak wystąpił m.in. w Poławiaczach pereł G. Bizeta (Zurga), Cyruliku sewilskim G. Rossiniego (Figaro), Kopciuszku G. Rossiniego (Dandini), a także jako Escamillo w widowisku operowym Carmen zreali­zowanym na Stadionie Śląskim we Wrocławiu dla 25-tysięcznej widowni. Artysta współpracuje rów­nież z Teatrem Wielkim w Łodzi, gdzie kreował role: Figara w Cyruliku sewilskim G. Rossiniego, Eisensteina w Zemście nietoperza J. Straussa oraz Maksimiliana w Kandydzie L. Bernsteina. W Ope­rze i Filharmonii w Białymstoku wystąpił dotąd w Cyganerii G. Pucciniego (Marcello), Zemście nie­toperza J. Straussa (Eisenstein), Wesołej wdówce F. Lehára (Daniło) oraz Via Crucis/Cavalleria rusti­cana P. Łukaszewskiego / P. Mascagniego (Alfio).