| Res. | Record | Opponent | Method | Event | Date | Round | Time | Location | Notes |
| Loss | 29–22 (1) | Mason Jones | Decision (unanimous) | UFC on ESPN: Sandhagen vs. Figueiredo | May 3, 2025 | 3 | 5:00 | Des Moines, Iowa, United States | |
| Loss | 29–21 (1) | Natan Schulte | Submission (arm-triangle choke) | PFL 10 (2022) | November 25, 2022 | 2 | 1:32 | New York City, New York, United States | |
| Win | 29–20 (1) | Myles Price | Decision (split) | PFL 4 (2022) | June 17, 2022 | 3 | 5:00 | Atlanta, Georgia, United States | |
| Loss | 28–20 (1) | Clay Collard | Decision (unanimous) | PFL 1 (2022) | April 20, 2022 | 3 | 5:00 | Arlington, Texas, United States | |
| Loss | 28–19 (1) | Mateusz Gamrot | Submission (kimura) | UFC on ESPN: Makhachev vs. Moisés | July 17, 2021 | 1 | 1:05 | Las Vegas, Nevada, United States | Return to Lightweight. |
| Loss | 28–18 (1) | Calvin Kattar | KO (elbows) | UFC 249 | May 9, 2020 | 2 | 2:42 | Jacksonville, Florida, United States | Catchweight (150.5 lb) bout; Stephens missed weight. |
| Loss | 28–17 (1) | Yair Rodríguez | Decision (unanimous) | UFC on ESPN: Reyes vs. Weidman | October 18, 2019 | 3 | 5:00 | Boston, Massachusetts, United States | Fight of the Night. |
| NC | 28–16 (1) | Yair Rodríguez | NC (accidental eye poke) | UFC Fight Night: Rodríguez vs. Stephens | September 21, 2019 | 1 | 0:15 | Mexico City, Mexico | Accidental eye poke rendered Stephens unable to continue. |
| Loss | 28–16 | Zabit Magomedsharipov | Decision (unanimous) | UFC 235 | March 2, 2019 | 3 | 5:00 | Las Vegas, Nevada, United States | |
| Loss | 28–15 | José Aldo | TKO (punches) | UFC on Fox: Alvarez vs. Poirier 2 | July 28, 2018 | 1 | 4:19 | Calgary, Alberta, Canada | |
| Win | 28–14 | Josh Emmett | KO (elbows) | UFC on Fox: Emmett vs. Stephens | February 24, 2018 | 2 | 1:35 | Orlando, Florida, United States | Performance of the Night. |
| Win | 27–14 | Choi Doo-ho | TKO (punches and elbows) | UFC Fight Night: Stephens vs. Choi | January 14, 2018 | 2 | 2:36 | St. Louis, Missouri, United States | Fight of the Night. |
| Win | 26–14 | Gilbert Melendez | Decision (unanimous) | UFC 215 | September 9, 2017 | 3 | 5:00 | Edmonton, Alberta, Canada | Fight of the Night. |
| Loss | 25–14 | Renato Moicano | Decision (split) | UFC on Fox: Johnson vs. Reis | April 15, 2017 | 3 | 5:00 | Kansas City, Missouri, United States | |
| Loss | 25–13 | Frankie Edgar | Decision (unanimous) | UFC 205 | November 12, 2016 | 3 | 5:00 | New York City, New York, United States | |
| Win | 25–12 | Renan Barão | Decision (unanimous) | UFC Fight Night: Almeida vs. Garbrandt | May 29, 2016 | 3 | 5:00 | Las Vegas, Nevada, United States | Fight of the Night. |
| Loss | 24–12 | Max Holloway | Decision (unanimous) | UFC 194 | December 12, 2015 | 3 | 5:00 | Las Vegas, Nevada, United States | |
| Win | 24–11 | Dennis Bermudez | TKO (flying knee and punches) | UFC 189 | July 11, 2015 | 3 | 0:32 | Las Vegas, Nevada, United States | Catchweight (149.5 lb) bout; Stephens missed weight. |
| Loss | 23–11 | Charles Oliveira | Decision (unanimous) | The Ultimate Fighter: A Champion Will Be Crowned Finale | December 12, 2014 | 3 | 5:00 | Las Vegas, Nevada, United States | Catchweight (146.5 lb) bout; Oliveira missed weight. |
| Loss | 23–10 | Cub Swanson | Decision (unanimous) | UFC Fight Night: Swanson vs. Stephens | June 28, 2014 | 5 | 5:00 | San Antonio, Texas, United States | Fight of the Night. |
| Win | 23–9 | Darren Elkins | Decision (unanimous) | UFC on Fox: Henderson vs. Thomson | January 25, 2014 | 3 | 5:00 | Chicago, Illinois, United States | |
| Win | 22–9 | Rony Jason | KO (head kick) | UFC Fight Night: Belfort vs. Henderson 2 | November 9, 2013 | 1 | 0:40 | Goiânia, Brazil | |
| Win | 21–9 | Estevan Payan | Decision (unanimous) | UFC 160 | May 25, 2013 | 3 | 5:00 | Las Vegas, Nevada, United States | Featherweight debut. |
| Loss | 20–9 | Yves Edwards | KO (punches and elbows) | UFC on Fox: Henderson vs. Diaz | December 8, 2012 | 1 | 1:55 | Seattle, Washington, United States | |
| Loss | 20–8 | Donald Cerrone | Decision (unanimous) | UFC on Fuel TV: The Korean Zombie vs. Poirier | May 15, 2012 | 3 | 5:00 | Fairfax, Virginia, United States | |
| Loss | 20–7 | Anthony Pettis | Decision (split) | UFC 136 | October 8, 2011 | 3 | 5:00 | Houston, Texas, United States | |
| Win | 20–6 | Danny Downes | Decision (unanimous) | The Ultimate Fighter: Team Lesnar vs. Team dos Santos Finale | June 4, 2011 | 3 | 5:00 | Las Vegas, Nevada, United States | |
| Win | 19–6 | Marcus Davis | KO (punch) | UFC 125 | January 1, 2011 | 3 | 2:33 | Las Vegas, Nevada, United States | Knockout of the Night. |
| Loss | 18–6 | Melvin Guillard | Decision (split) | UFC 119 | September 25, 2010 | 3 | 5:00 | Indianapolis, Indiana, United States | |
| Win | 18–5 | Sam Stout | Decision (split) | UFC 113 | May 8, 2010 | 3 | 5:00 | Montreal, Quebec, Canada | Fight of the Night. |
| Win | 17–5 | Justin Buchholz | TKO (doctor stoppage) | UFC Fight Night: Diaz vs. Guillard | September 16, 2009 | 1 | 3:32 | Oklahoma City, Oklahoma, United States | Knockout of the Night. |
| Loss | 16–5 | Gleison Tibau | Decision (unanimous) | UFC Fight Night: Condit vs. Kampmann | April 1, 2009 | 3 | 5:00 | Nashville, Tennessee, United States | |
| Loss | 16–4 | Joe Lauzon | Submission (armbar) | UFC Fight Night: Lauzon vs. Stephens | February 7, 2009 | 2 | 4:43 | Tampa, Florida, United States | |
| Win | 16–3 | Rafael dos Anjos | KO (punches) | UFC 91 | November 15, 2008 | 3 | 0:39 | Las Vegas, Nevada, United States | Knockout of the Night. |
| Loss | 15–3 | Spencer Fisher | Decision (unanimous) | The Ultimate Fighter: Team Rampage vs. Team Forrest Finale | June 21, 2008 | 3 | 5:00 | Las Vegas, Nevada, United States | |
| Win | 15–2 | Cole Miller | TKO (punches and elbows) | UFC Fight Night: Swick vs. Burkman | January 23, 2008 | 2 | 4:44 | Las Vegas, Nevada, United States | |
| Win | 14–2 | Diego Saraiva | Decision (unanimous) | UFC 76 | September 22, 2007 | 3 | 5:00 | Anaheim, California, United States | |
| Win | 13–2 | Nick Walker | TKO (punches) | Midwest Cage 9 | July 27, 2007 | 1 | 4:45 | Des Moines, Iowa, United States | |
| Loss | 12–2 | Din Thomas | Submission (armbar) | UFC 71 | May 26, 2007 | 2 | 2:44 | Las Vegas, Nevada, United States | |
| Win | 12–1 | Vern Jefferson | TKO (punches) | Greensparks: Full Contact Fighting 3 | March 17, 2007 | 1 | 3:58 | Des Moines, Iowa, United States | |
| Win | 11–1 | Norm Alexander | Submission (triangle choke) | Title FC: Battle at the Barn | February 21, 2007 | 1 | 3:26 | Des Moines, Iowa, United States | |
| Win | 10–1 | Chris Mickle | KO (punch) | Midwest Cage 5 | November 22, 2006 | 4 | 0:27 | Des Moines, Iowa, United States | |
| Win | 9–1 | Aaron Williams | TKO (punches) | Universal Gladiator 4 | September 22, 2006 | 1 | N/A | Kenner, Louisiana, United States | |
| Win | 8–1 | Doug Alcorn | Submission (armbar) | Greensparks: Full Contact Fighting 1 | August 19, 2006 | 1 | 1:56 | Clive, Iowa, United States | |
| Win | 7–1 | Chris Mickle | TKO (punches) | Midwest Cage 4 | July 15, 2006 | 2 | 3:36 | Des Moines, Iowa, United States | |
| Win | 6–1 | Kendrick Johnson | KO (punch) | Midwest Cage 1 | February 11, 2006 | 1 | 1:46 | Des Moines, Iowa, United States | |
| Win | 5–1 | Will Shutt | TKO (punches) | Xtreme Kage Kombat: Trials | August 27, 2005 | 1 | 1:19 | Des Moines, Iowa, United States | |
| Win | 4–1 | Sharome Blanchard | TKO (punches) | Xtreme Kage Kombat: Des Moines | March 19, 2005 | 1 | 2:36 | Des Moines, Iowa, United States | |
| Loss | 3–1 | Chris Mickle | Submission (rear-naked choke) | Downtown Destruction 3 | March 2, 2005 | 2 | 1:51 | Des Moines, Iowa, United States | |