Roman Safiullin erreichte bei den Junioren im Mai 2014 mit dem 2. Rang seine beste Platzierung, nachdem er das Grade A Turnier in Mailand gegen seinen Landsmann Andrei Rubljow gewinnen konnte. Im Januar 2015 konnte er den Einzelbewerb der Australian Open für sich entscheiden.[1]
Auf der Profitour spielt Safiullin bis 2019 hauptsächlich Turniere auf der unterklassigen Future Tour. Dort konnte er von 2014 bis 2018 19 Einzel- und 3 Doppeltitel gewinnen. Bereits 2015 stand er kurz vor dem Eintritt in die Top 300 der Tennisweltrangliste, nachdem er im Vorjahr sechs Futures gewonnen hatte. Der Übergang zur höherdotierten ATP Challenger Tour gelang ihm nicht auf Anhieb, bei vielen Turnieren dieser Kategorie schaffte er nicht die Qualifikation. Das erste Mal weiter ins Turnier vorstoßen konnte er 2017 in Prag, als er das Viertelfinale erreichte. Sein Debüt auf der ATP Tour gab Safiullin in Moskau des Jahres. Er erhielt dort eine Wildcard für das Einzelfeld und trat in der ersten Runde gegen den indischen Qualifikanten Yuki Bhambri an, gegen den er in zwei Sätzen mit 2:6, 4:6 verlor. Das Jahr schloss er mit Platz 498 deutlich niedriger ab als die Jahre zuvor; auch weil er weniger bei Futures antrat und dort Turniere gewinnen konnte.
2018 behielt Safiullin seine hohe Erfolgsquote bei Futures bei und gewann fünf dieser Turniere. Auf der Challenger Tour konnte er als bestes Resultat das Viertelfinale in Chengdu und Jinan erreichen. Mit Rang 332 Ende des Jahres schloss er sein bislang bestes Jahr ab. 2019 steigerte er sich weiter und konnte vier Challenger-Viertelfinals erreichen. Dazu kamen abermals drei Futuretitel. Platz 255 war das Resultat am Jahresende.
Einen kleinen Durchbruch schaffte Safiullin Anfang 2020. Gleich zu Anfang zog er in sein erstes Halbfinale bei Challengers, in Bangkok ein. Nach einem weiteren Viertelfinale bei der zweiten Ausgabe in Bangkok konnte er das Turnier in Cherbourg für sich entscheiden – sowohl im Einzel als auch im Doppel. Damit konnte er sich endgültig auf der Challenger Tour etablieren. Nach der Corona-Pause bekam er für das Turnier in St. Petersburg eine Wildcard und gewann gegen Emilio Gómez sein erstes Match auf der ATP Tour, gefolgt von einer Niederlage gegen Borna Ćorić, den späteren Finalisten. Anfang 2021 schaffte er die Qualifikation zu den Australian Open durch drei Siege und gewann auch gleich sein erstes Match im Hauptfeld eines Grand-Slam-Turniers gegen Ilja Iwaschka. In Runde 2 verlor er gegen Cameron Norrie. Mit Platz 164 erreichte der Russe im Februar 2021 sein Karrierehoch. Beim zweiten Grand Slam des Jahres in Paris blieb er in der Qualifikation abermals siegreich und traf in der ersten Runde auf Carlos Taberner, den er in vier Sätzen besiegte. Safiullin schied in der zweiten Runde gegen den Setzlistensechsten Alexander Zverev aus.