Fils d'ouvriers, il quitte l'école à treize ans pour devenir apprenti mécanicien-ajusteur. Il travaille ensuite dans une usine de textile à Romorantin, et s'engage dans l'action syndicale, au sein de la CGT, à partir de 1932.
Depuis un an, il était par ailleurs membre des jeunesses socialistes, dont il devient membre du comité national mixte en 1935.
En 1935, il mène la grève unitaire provoquée par une décision d'importantes baisses de salaires par la direction de l'usine, qui est finalement obligée de reculer. Ce succès, combiné avec la réunification syndicale, permet au syndicat de connaître une croissance impressionnante, au point de réunir en son sein la moitié des ouvriers de l'usine.
Membre du conseil national de la fédération du textile CGT, secrétaire de la bourse du travail de Romorantin, il développe une activité interprofessionnelle en favorisant la création de nouveaux syndicats. En 1936, il apporte un soutien technique et pratique très important dans les négociations menées dans plusieurs entreprises de la région.
Résistant pendant la guerre, au sein du réseau Libération-Nord, il est nommé à la libération sous-préfet de Romorantin.
En , il est élu, avec 19,1 % des voix, député du Loir-et-Cher, sous l'étiquette SFIO, succédant à Robert Mauger, qui ne se représente pas, et siège à l'Assemblée nationale pendant toute la quatrième république. En novembre, il obtient 17,8 % des suffrages, et 16,3 % en 1951.
Membre du comité directeur de la SFIO à partir de 1954, il suit particulièrement les questions agricoles, sujet principal de son action parlementaire par ailleurs.
Réélu député avec 15 % des voix en 1956, il est logiquement nommé sous-secrétaire d’État à l’Agriculture dans le gouvernement Guy Mollet, puis à l’Équipement et au Plan agricole dans le gouvernement Bourgès-Maunoury.
Son projet de loi d'orientation agricole, dont la discussion est interrompue par les événements de , sert par la suite d'inspiration à la loi d'orientation agricole d'.
Opposé au retour au pouvoir de Charles de Gaulle, il ne rompt cependant pas avec la SFIO, et devient même secrétaire de la fédération socialiste du Loir-et-Cher en juillet.
En novembre, il est battu aux élections législatives, mais retrouve son siège quatre ans plus tard, après la dissolution de l'assemblée nationale. En 1963, il est élu conseiller général dans le canton de Selles-sur-Cher, à l'occasion d'une partielle et, en octobre, maire de Selles-sur-Cher.
Réélu député en 1967, il est vice-président du groupe socialiste à l'Assemblée, mais perd son siège l'année suivante.
En 1969, il quitte le comité directeur et la direction fédérale, au moment de la transformation de la SFIO en « nouveau parti socialiste ».
En 1973, il est élu président du conseil général, fonction qu'il conserve jusqu'en 1988.