| Res. | Record | Opponent | Method | Event | Date | Round | Time | Location | Notes |
| Win | 16–3 (1) | Beneil Dariush | KO (punches) | UFC 322 | November 15, 2025 | 1 | 0:16 | New York City, New York, United States | Catchweight (157.2 lb) bout; Dariush missed weight. Performance of the Night. |
| Win | 15–3 (1) | Maurício Ruffy | Submission (face crank) | UFC Fight Night: Imavov vs. Borralho | September 6, 2025 | 2 | 2:56 | Paris, France | Performance of the Night. |
| Win | 14–3 (1) | Kyle Prepolec | Submission (arm-triangle choke) | UFC 315 | May 10, 2025 | 2 | 2:35 | Montreal, Quebec, Canada | |
| Loss | 13–3 (1) | Renato Moicano | TKO (doctor stoppage) | UFC Fight Night: Moicano vs. Saint Denis | September 28, 2024 | 2 | 5:00 | Paris, France | |
| Loss | 13–2 (1) | Dustin Poirier | KO (punches) | UFC 299 | March 9, 2024 | 2 | 2:32 | Miami, Florida, United States | Fight of the Night. |
| Win | 13–1 (1) | Matt Frevola | KO (head kick) | UFC 295 | November 11, 2023 | 1 | 1:31 | New York City, New York, United States | Performance of the Night. |
| Win | 12–1 (1) | Thiago Moisés | TKO (punches) | UFC Fight Night: Gane vs. Spivac | September 2, 2023 | 2 | 4:44 | Paris, France | Fight of the Night. |
| Win | 11–1 (1) | Ismael Bonfim | Submission (face crank) | UFC on ESPN: Strickland vs. Magomedov | July 1, 2023 | 1 | 4:48 | Las Vegas, Nevada, United States | |
| Win | 10–1 (1) | Gabriel Miranda | TKO (punches) | UFC Fight Night: Gane vs. Tuivasa | September 3, 2022 | 2 | 0:16 | Paris, France | Performance of the Night. |
| Win | 9–1 (1) | Niklas Stolze | Submission (rear-naked choke) | UFC Fight Night: Volkov vs. Rozenstruik | June 4, 2022 | 2 | 1:32 | Las Vegas, Nevada, United States | Lightweight debut. |
| Loss | 8–1 (1) | Elizeu Zaleski dos Santos | Decision (unanimous) | UFC 267 | October 30, 2021 | 3 | 5:00 | Abu Dhabi, United Arab Emirates | Welterweight bout. Zaleski dos Santos was deducted one point in round 3 due to a groin strike. |
| Win | 8–0 (1) | Arkaitz Ramos Gudari | Submission (arm-triangle choke) | Brave CF 52 | August 1, 2021 | 1 | 3:09 | Milan, Italy | |
| Win | 7–0 (1) | Luan Santiago | Submission (arm-triangle choke) | Brave CF 49 | March 25, 2021 | 2 | 3:51 | Arad, Bahrain | |
| Win | 6–0 (1) | Mario Saeed | TKO (punches) | Brave CF 38 | August 8, 2020 | 2 | 1:49 | Stockholm, Sweden | Super Lightweight (165 lb) debut. |
| Win | 5–0 (1) | Ivica Trušček | Submission (kneebar) | Brave CF 34 | January 19, 2020 | 1 | 3:39 | Ljubljana, Slovenia | |
| NC | 4–0 (1) | Paweł Kiełek | NC (accidental clash of heads) | Brave CF 28 | November 4, 2019 | 2 | 5:00 | Bucharest, Romania | Accidental clash of heads rendered Saint Denis unable to continue. |
| Win | 4–0 | Ibragim Baisarov | Submission (armbar) | European Beatdown 7 | October 12, 2019 | 1 | 2:47 | Mons, Belgium | |
| Win | 3–0 | Antoine Bensimon | Submission (guillotine choke) | Vic Fight: Trophée de France | June 15, 2019 | 1 | 4:00 | Longjumeau, France | |
| Win | 2–0 | Artur Szczepaniak | Submission (rear-naked choke) | Staredown FC 14 | March 21, 2019 | 3 | 3:00 | Antwerp, Belgium | Welterweight debut. Won the vacant Staredown FC Welterweight Championship. |
| Win | 1–0 | Marc Domont | Technical Submission (guillotine choke) | Lions FC 8 | February 16, 2019 | 1 | 3:29 | Neuchâtel, Switzerland | Middleweight debut. |