UFC 248 delivered ... until it didn't. The main event between Israel Adesanya and Yoel Romero went 25 minutes without any significant moment for either fighter as the high speed chess match played out over five rounds. In the end, Adesanya earned an unanimous decision over the former title challenger, who drops to 1-4 in his last five fights.

The co-main event, however, was just the opposite. Weili Zhang and Joanna Jedrzejczyk laid it all on the line in arguably the best women's MMA fight of all time. The two 115-pound competitors grinded through 25 minutes of hell, leaving each other a bloody mess after the final horn, and Jedrzejczyk sporting an awful hematoma on her forehead. Zhang retained her belt via split decision.

Can't get enough UFC? Subscribe to my podcast -- State of Combat with Brian Campbell -- where we break down everything you need to know in the Octagon, including Instant Analysis of UFC 248 with Brandon Wise below.

Plus, Beneil Dariush returned with the early Knockout of the Year contender when he stopped Drakkar Klose in the second. And "Suga" Sean O'Malley announced his return from a two-year hiatus loudly with a first-round TKO win over Jose Quinonez.

Below is a complete recap of everything that happened on Saturday night as well as everything that happened this week in the lead up to the event. CBS Sports was with you throughout the night with updates, results and recaps for all the action in Las Vegas. Check back in on this page to keep track.

UFC 248 fight card

  • Israel Adesanya (c) def. Yoel Romero via unanimous decision (48-47, 48-47, 49-46)
  • Weili Zhang (c) def. Joanna Jedrzejczyk via split decision (48-47, 47-48, 48-47)
  • Beneil Dariush def. Drakkar Klose via second-round KO (punch)
  • Neil Magny def. Li Jingliang via unanimous decision (30-27, 30-27, 30-27)
  • Alex Oliveira def. Max Griffin via split decision (29-28, 28-29, 29-28)
  • Sean O'Malley def. Jose Quinonez via first-round TKO (punches)
  • Mark Madsen def. Austin Hubbard via unanimous decision (29-28, 29-28, 29-28)
  • Rodolfo Vieira def. Saparbek Safarov via first-round submission (arm triangle)
  • Gerald Meerschaert def. Deron Winn via third-round submission (rear naked choke)
  • Giga Chikadze def. Jamall Emmers via split decision (28-29, 29-28, 29-28)
  • Danaa Batgerel def. Guido Cannetti via first-round knockout (punch)

UFC 248 countdown