1933–34 | Gr. North: Red Star (1) | Gr. North: Rouen |
| Gr. South: Alès (1) | Gr. South: Saint-Étienne |
1934–35 | Metz (1) | Valenciennes |
1935–36 | Rouen (1) | RC Roubaix |
1936–37 | Lens (1) | Valenciennes |
1937–38 | Le Havre (1) | Saint-Étienne |
1938–39 | Red Star (2) | Rennes |
1939–45 | World War II | |
1945–46 | Gr. North: FC Nancy (1) | Gr. North: Stade Français |
| Gr. South: Montpellier (1) | Gr. South: Toulouse (1937) |
1946–47 | Sochaux (1) | Alès |
1947–48 | Nice (1) | Colmar |
1948–49 | Lens (2) | Bordeaux |
1949–50 | Nîmes (1) | Le Havre |
1950–51 | Lyon (1) | Metz |
1951–52 | Stade Français (1) | Montpellier |
1952–53 | Toulouse (1937) (1) | Monaco |
1953–54 | Lyon (2) | Troyes |
1954–55 | Sedan (1) | Red Star |
1955–56 | Rennes (1) | Angers |
1956–57 | Alès (2) | Béziers |
1957–58 | FC Nancy (2) | Rennes |
1958–59 | Le Havre (2) | Stade Français |
1959–60 | Grenoble (1) | FC Nancy |
1960–61 | Montpellier (2) | Metz |
1961–62 | Grenoble (2) | Valenciennes |
1962–63 | Saint-Étienne (1) | Nantes |
1963–64 | Lille (1) | Sochaux |
1964–65 | Nice (2) | Red Star |
1965–66 | Reims (1) | Marseille |
1966–67 | Ajaccio (1) | Metz |
1967–68 | Bastia (1) | Nîmes |
1968–69 | Angers (1) | Angoulême |
1969–70 | Nice (3) | Nancy |
1970–71 | Gr. North: Lille | Gr. North: Chaumont |
| Gr. Centre: Paris Saint-Germain (1) | Gr. Centre: Rouen |
| Gr. South: Monaco | Gr. South: Avignon |
1971–72 | Gr. A: Sedan | Gr. A: Troyes |
| Gr. B: Valenciennes (1) | Gr. B: Limoges |
| Gr. C: Strasbourg | Gr. C: Avignon |
1972–73 | Gr. A: Lens (3) | Gr. A: Boulogne |
| Gr. B: Troyes | Gr. B: Monaco |
1973–74 | Gr. A: Lille (2) | Gr. A: Valenciennes |
| Gr. B: Red Star | Gr. B: Paris Saint-Germain |
1974–75 | Gr. A: Valenciennes | Gr. A: Rouen |
| Gr. B: Nancy (1) | Gr. B: Avignon |
1975–76 | Gr. A: Rennes | Gr. A: Laval |
| Gr. B: Angers (2) | Gr. B: Red Star |
1976–77 | Gr. A: Monaco | Gr. A: Gueugnon |
| Gr. B: Strasbourg (1) | Gr. B: Rouen |
1977–78 | Gr. A: Angers | Gr. A: Besançon |
| Gr. B: Lille (3) | Gr. B: Paris FC |
1978–79 | Gr. A: Gueugnon (1) | Gr. A: Avignon |
| Gr. B: Brest | Gr. B: Lens |
1979–80 | Gr. A: Tours | Gr. A: Rennes |
| Gr. B: Auxerre (1) | Gr. B: Avignon |
1980–81 | Gr. A: Montpellier | Gr. A: Toulouse |
| Gr. B: Brest (1) | Gr. B: Nœux-les-Mines |
1981–82 | Gr. A: Toulouse (1) | Gr. A: Thonon |
| Gr. B: Rouen | Gr. B: Mulhouse |
1982–83 | Gr. A: Rennes (2) | Gr. A: Nîmes |
| Gr. B: Toulon | Gr. B: Reims |
1983–84 | Gr. A: Marseille | Gr. A: Nice |
| Gr. B: Tours (1) | Gr. B: RCF Paris |
1984–85 | Gr. A: Le Havre (3) | Gr. A: Mulhouse |
| Gr. B: Nice | Gr. B: Saint-Étienne |
1985–86 | Gr. A: Saint-Étienne | Gr. A: Alès |
| Gr. B: RCF Paris (1) | Gr. B: Mulhouse |
1986–87 | Gr. A: Niort | Gr. A: Caen |
| Gr. B: Montpellier (3) | Gr. B: Lyon |
1987–88 | Gr. A: Sochaux (2) | Gr. A: Lyon |
| Gr. B: Strasbourg (2) | Gr. B: Caen |
1988–89 | Gr. A: Mulhouse | Gr. A: Brest |
| Gr. B: Lyon (3) | Gr. B: Nîmes |
1989–90 | Gr. A: Nancy (2) | Gr. A: Strasbourg |
| Gr. B: Rennes | Gr. B: Valenciennes |
1990–91 | Gr. A: Nîmes | Gr. A: Strasbourg |
| Gr. B: Le Havre (4) | Gr. B: Lens |
1991–92 | Gr. A: Valenciennes | Gr. A: Angers |
| Gr. B: Bordeaux (1) | Gr. B: Strasbourg |
1992–93 | Gr. A: Martigues (1) | Gr. A: Cannes |
| Gr. B: Angers | Gr. B: Rennes |
1993–94 | Nice (4) | Rennes |
1994–95 | Marseille (1) | Guingamp |
1995–96 | Caen (1) | Marseille |
1996–97 | Châteauroux (1) | Toulouse |
1997–98 | Nancy (3) | Lorient |
1998–99 | Saint-Étienne (2) | Sedan |
1999–2000 | Lille (4) | Guingamp |
2000–01 | Sochaux (3) | Lorient |
2001–02 | Ajaccio (2) | Strasbourg |
2002–03 | Toulouse (2) | Le Mans |
2003–04 | Saint-Étienne (3) | Caen |
2004–05 | Nancy (4) | Le Mans |
2005–06 | Valenciennes | Sedan |
2006–07 | Metz | Caen |
2007–08 | Le Havre | Nantes |
2008–09 | Lens | Montpellier |
2009–10 | Caen | Brest |
2010–11 | Evian | Ajaccio |
2011–12 | Bastia | Reims |
2012–13 | Monaco | Guingamp |
2013–14 | Metz | Lens |
2014–15 | Troyes | Gazélec Ajaccio |
2015–16 | Nancy | Dijon |
2016–17 | Strasbourg | Amiens |
2017–18 | Reims | Nîmes |
2018–19 | Metz | Brest |
2019–20 | | |