Romain Salin a commencé à jouer au football au SC Le Ham. Avant de passer par Le Mans Union Club 72, le Stade rennais avec lequel il remporte la Coupe Gambardella au milieu des Bourillon, Faty, Gourcuff, ou encore Briand.
Il commence ensuite sa carrière pro au Stade lavallois avant de rejoindre le FC Lorient. Il fait partie intégrante de la montée en L1 en participant aux 38 journées de L2 en tant que doublure de Fabien Audard dont 1 tiularisation et 1 entrée en jeu. En 2006-2007 il est prêté au FC Libourne-Saint-Seurin en Ligue 2 afin d'acquerir plus de temps de jeu, ce qui sera le cas avec à la clé, l'unique maintien de cette formation à ce niveau.Il revient à Lorient en 2007-2008, mais ne joue pas en équipe première hormis en rentrant à la place de Cappone à la mi-temps contre le Paris SG en seizièmes de finale de la Coupe de la Ligue.
À la fin de son contrat avec Lorient, en juillet 2008 il part effectuer quelques essais aux États-Unis.
Le 27 janvier 2009, libre de tout contrat il signe au Tours FC1.
Trois jours plus tard il réalise son 1er match avec Tours contre Vannes OC au Stade de la Rabine, il joue l'intégralité de la rencontre mais malheureusement il n'empêche la défaite de son nouveau club (0-1).
Au FC Tours, il réalise une excellente saison en remplaçant Peter Jehle blessé. Il prolonge son contrat pour deux saisons avec le FC Tours.
Après le départ du gardien du Liechtenstein, Romain Salin est titulaire lors de la saison 2009/10, il réalise un bon début de saison mais sa fin de saison est plus compliquée et Jérémy Sopalski lui prend sa place de titulaire.
En juin 2010, il répond favorablement à l'appel de Victor Zvunka entraîneur de Naval 1º de Maio et signe dans le club portugais pour deux ans. L'entraineur français ayant été écarté en cours de saison du Naval, Romain Salin part la saison suivante au Club Sport Marítimo.