Capitaine adjudant-major à l'élection le , il prend le commandement d'une compagnie de fusiliers le . Il combat vaillamment de 1792 à l'an IX aux armées du Nord, des Ardennes, de Sambre-et-Meuse, de Mayence, d'Helvétie et d'Italie, et se fait remarquer dans plusieurs circonstances, notamment le ; alors, aidé par quelques-uns de ses camarades, il reprend une pièce de canon que son bataillon avait été forcé de laisser entre les mains de l'ennemi. Dans la même journée, le 2e bataillon du Finistère, repoussé par l'ennemi, se retire en désordre ; Lafosse saisit le drapeau, se porte en avant, et contribue par son intrépidité à rallier le bataillon et à lui faire opérer une retraite honorable.
Passé au commandement d'une compagnie de grenadiers le 1er floréal an VII, il se distingue le 28 thermidor suivant à la bataille de Novi, et y est blessé d'un coup de boulet au côté gauche. Chef de bataillon sur le champ de bataille, nommé par le général en chef le 21 fructidor de la même année, et confirmé dans ce grade par arrêté du premier Consul du 12 floréal an VIII, il sert en l'an X au corps d'observation de la Gironde, en l'an XI au camp sous Bayonne, devient major du 44e régiment d'infanterie de ligne le 30 frimaire an XII, et membre de la Légion d'honneur le 4 germinal suivant.
Il prend part aux opérations de la Grande Armée en Autriche, en Prusse et en Pologne de l'an XIV à 1807, et obtient le grade de colonel du même régiment le de cette dernière année. Pendant le siège de Dantzig, à la sortie que fait l'ennemi dans la soirée du , les gardes de tranchée sont d'abord repoussées, et laissent les Prussiens se maintenir dans les logements de contrescarpe assez de temps pour détruire les travaux du jour et de la veille ; Lafosse parvient à rallier les troupes et à les ramener au combat, dans lequel il a l'épaule droite traversée d'un coup de feu, et l'ennemi abandonne les ouvrages.
Officier de la Légion d'honneur le 30 du même mois, et créé baron de l'Empire avec une dotation de 6 000 francs de rente le , il entre en Espagne avec la 1re division du 3e corps, et donne de nouvelles preuves de bravoure à Lérida le de la même année, et au combat de Siguenza le suivant. Il sert en Catalogne et en Aragon jusqu'au commencement de 1813, se signale aux sièges de Saragosse et de Tortose, et l'Empereur l'élève au grade de général de brigade le .
Au retour de l'Empereur, il est chargé par décret du de la même année, de l'organisation des gardes nationales de la 16e division militaire. La bataille du mont Saint-Jean vient mettre un terme aux services du général Lafosse, qui est admis à la retraite le .