| Res. | Record | Opponent | Method | Event | Date | Round | Time | Location | Notes |
| Loss | 23–3 | Khamzat Chimaev | Decision (unanimous) | UFC 319 | 16 August 2025 | 5 | 5:00 | Chicago, Illinois, United States | Lost the UFC Middleweight Championship. |
| Win | 23–2 | Sean Strickland | Decision (unanimous) | UFC 312 | 9 February 2025 | 5 | 5:00 | Sydney, Australia | Defended the UFC Middleweight Championship. |
| Win | 22–2 | Israel Adesanya | Submission (face crank) | UFC 305 | 18 August 2024 | 4 | 3:38 | Perth, Australia | Defended the UFC Middleweight Championship. |
| Win | 21–2 | Sean Strickland | Decision (split) | UFC 297 | 20 January 2024 | 5 | 5:00 | Toronto, Ontario, Canada | Won the UFC Middleweight Championship. Fight of the Night. |
| Win | 20–2 | Robert Whittaker | TKO (punches) | UFC 290 | 8 July 2023 | 2 | 2:23 | Las Vegas, Nevada, United States | UFC Middleweight title eliminator. Performance of the Night. |
| Win | 19–2 | Derek Brunson | TKO (corner stoppage) | UFC 285 | 4 March 2023 | 2 | 4:59 | Las Vegas, Nevada, United States | |
| Win | 18–2 | Darren Till | Submission (face crank) | UFC 282 | 10 December 2022 | 3 | 2:43 | Las Vegas, Nevada, United States | Fight of the Night. |
| Win | 17–2 | Brad Tavares | Decision (unanimous) | UFC 276 | 2 July 2022 | 3 | 5:00 | Las Vegas, Nevada, United States | |
| Win | 16–2 | Trevin Giles | KO (punches) | UFC 264 | 10 July 2021 | 2 | 1:41 | Las Vegas, Nevada, United States | Performance of the Night. |
| Win | 15–2 | Markus Perez | KO (punches) | UFC Fight Night: Moraes vs. Sandhagen | 11 October 2020 | 1 | 3:22 | Abu Dhabi, United Arab Emirates | |
| Win | 14–2 | Brendan Lesar | Submission (guillotine choke) | EFC 83 | 14 December 2019 | 1 | 4:15 | Gauteng, South Africa | Defended and unified the EFC Middleweight Championship. |
| Win | 13–2 | Joilton Santos | TKO (punches) | KSW 50 | 14 September 2019 | 2 | 3:04 | London, England | Return to Middleweight. |
| Loss | 12–2 | Roberto Soldić | KO (punches) | KSW 45 | 6 October 2018 | 3 | 2:33 | London, England | Lost the KSW Welterweight Championship. Fight of the Night. |
| Win | 12–1 | Roberto Soldić | TKO (punches) | KSW 43 | 14 April 2018 | 2 | 1:37 | Wrocław, Poland | Return to Welterweight. Won the KSW Welterweight Championship. Performance of the Night. |
| Win | 11–1 | Yannick Bahati | Submission (guillotine choke) | EFC 62 | 19 August 2017 | 1 | 1:30 | Gauteng, South Africa | Won the EFC Middleweight Championship. |
| Win | 10–1 | José Maurício da Rocha Jr. | TKO (punches) | EFC 59 | 13 May 2017 | 1 | 3:58 | Gauteng, South Africa | Defended the EFC Welterweight Championship. |
| Win | 9–1 | Rafał Haratyk | Submission (guillotine choke) | EFC 56 | 9 December 2016 | 2 | 3:34 | Gauteng, South Africa | Middleweight bout. |
| Win | 8–1 | Martin van Staden | Submission (guillotine choke) | EFC 50 | 17 June 2016 | 3 | 3:59 | Gauteng, South Africa | Won the vacant EFC Welterweight Championship. |
| Win | 7–1 | Bruno Mukulu | Submission (rear-naked choke) | EFC 46 | 12 December 2015 | 2 | 2:50 | Gauteng, South Africa | Catchweight (176 lb) bout. |
| Win | 6–1 | Dino Bagattin | Submission (rear-naked choke) | EFC 40 | 6 June 2015 | 2 | 3:33 | Gauteng, South Africa | Welterweight debut. |
| Win | 5–1 | Darren Daniel | Submission (rear-naked choke) | EFC 37 | 21 February 2015 | 1 | 4:50 | Gauteng, South Africa | |
| Loss | 4–1 | Garreth McLellan | Submission (guillotine choke) | EFC 33 | 30 August 2014 | 3 | 2:12 | Gauteng, South Africa | For the EFC Middleweight Championship. |
| Win | 4–0 | Donavin Hawkey | TKO (punches) | EFC 27 | 27 February 2014 | 1 | 4:50 | Gauteng, South Africa | |
| Win | 3–0 | JC Lamprecht | Submission (rear-naked choke) | EFC 24 | 10 October 2013 | 3 | 1:54 | Gauteng, South Africa | |
| Win | 2–0 | Bruno Mukulu | Submission (rear-naked choke) | EFC 23 | 12 September 2013 | 1 | 2:34 | Gauteng, South Africa | |
| Win | 1–0 | Tshikangu Makuebo | TKO (knee injury) | EFC 21 | 25 July 2013 | 1 | 1:18 | Gauteng, South Africa | Middleweight debut. |