Située juste à l'ouest de la ville de Morlaix et enserrée dans son agglomération, Saint-Martin-des-Champs, dont le finage est limité à l'est par le Queffleuth et la Rivière de Morlaix et à l'ouest par la Pennélé, qui se jette dans la Rivière de Morlaix. La commune possède une partie rurale importante au nord, à l'ouest et au sud du territoire communal, mais son finage est de plus en plus grignoté par l'urbanisation morlaisienne : lotissements d'habitat pavillonnaire, zone commerciale du Launay, zone industrielle de Kerivin. La commune a toujours refusé les projets de fusion avec la ville de Morlaix, mais fait toutefois partie de Morlaix Communauté, nom de la communauté d'agglomération de Morlaix qui regroupe en tout 28 communes.