La rivière à la Martre prend sa source au lac Alpin (longueur : 1,2 km ; altitude : 635 m) dans la partie sud de la municipalité de La Martre, dans les monts Chic-Chocs qui font partie des Monts Notre-Dame. L'embouchure de ce lac est située à 14,1 km au sud du littoral Sud de l'estuaire maritime du Saint-Laurent, à 4,7 km au nord de la limite du canton de Boisbuisson et à 4,0 km de la limite du canton de Tourelle.
À partir de l'embouchure (partie nord-ouest) du lac Alpin, la rivière à la Martre coule sur 17,5 km répartis selon les segments suivants :
2,9 km vers le nord-ouest dans la municipalité La Martre, jusqu'à la confluence d'un ruisseau (venant de l'ouest) ;
13,0 km vers le nord, jusqu'au pont de la route de la Branche-Ouest ;
1,0 km vers le nord, en traversant le village de La Martre et en passant sous le pont de la route 132, jusqu'à sa confluence[3].
La rivière à la Martre se déverse sur le littoral Sud du fleuve du Saint-Laurent dans la partie est du village de La Martre. Cette confluence est située à l'est du cap à la Marte et à l'ouest de la pointe Noire.