Élève de l'École navale en 1841, aspirant en 1843, enseigne en 1847, il fut nommé lieutenant de vaisseau en 1852 après avoir fait campagne à Tourane (Da Nang) et au Sénégal ; il se distingua de nouveau à Sébastopol, dans la Baltique, à Canton, à l'attaque des forts de Peï-Ho et en Cochinchine, lors de la prise de Saïgon. Capitaine de frégate en 1859, capitaine de vaisseau en 1867, il était sur la corvette cuirassée l’ lorsqu'éclata la guerre avec la Prusse ; il revint alors en France (), où on lui donna le commandement du département de l'Aube, puis celui de la subdivision d'Ille-et-Vilaine. Après avoir commandé la division des côtes orientales d'Afrique, il fut promu contre-amiral le ; il remplit alors les fonctions de major général à Cherbourg et de président de la commission des défenses sous-marines; puis, le , il fut nommé gouverneur de la Cochinchine ; pendant les deux années de son administration, il ne cessa de travailler à accroître la prospérité de cette importante colonie dans laquelle il a laissé de durables souvenirs. Lorsqu'en 1880 survint le conflit soulevé par le gouvernement ottoman au sujet de l'attribution au Monténégro du port turc de Dulcigno, le contre-amiral Lafont, avec sa division, représenta la France dans la flotte alliée et fut promu vice-amiral le . Nommé le commandant en chef et préfet maritime à Brest, il quitta ces fonctions en 1885 pour prendre le commandement de l'escadre dans laquelle, lors des grandes manœuvres navales de 1886, on fit pour la première fois l'expérience d'une division volante de bateaux torpilleurs. En 1887, le vice-amiral Lafont a été appelé à la présidence du conseil des travaux de la marine dont il avait été nommé membre en 1881. Il a été élevé à la dignité de grand-croix de la Légion d'honneur le . Il quitte le service actif en .