Oscar Valdez was bloodied and hurt but still edged Robson Conceicao to keep hold of his WBC super-featherweight title and his unbeaten record on Friday night.
A "difficult" month during which an "adverse finding" was found in a drug test of Valdez's almost became more troublesome when Conceicao seriously threatened to take his world title.
But the Mexican-American, fighting in his adopted hometown of Tucson, Arizona, dug deep in the second half of the fight to convince the judges.
Sky customers: Buy Joshua vs Usyk
Non-Sky customers: Buy Joshua vs Usyk
After two rounds Conceicao, the previously undefeated gold medallist from the 2016 Olympics, had enjoyed the better start and had started marking Valdez's face.
By the fifth Valdez was significantly bruised and was being overwhelmed by his challenger.
Valdez found his rhythm in the sixth and seventh rounds, with Saul 'Canelo' Alvarez screaming encouragement from ringside, when his work-rate enabled him to close the distance and hammer away with body shots.
Conceicao had a point deducted in round nine for hitting behind the head.
A wild final three rounds resulted in Valdez being cut open but doing enough to sway the judges who scored it 117-110, 115-112, 115-112.
Valdez said afterwards: "I've been through enough this week, man. It makes the fight complicated when someone is trying to run the whole fight.
"If he wants to run? You can't win a fight running like that.
"We all want the winner of Shakur Stevenson and Jamel Herring. Let's do it."
Herring defends his WBO super-featherweight title against Stevenson on October 24, live on Sky Sports.
- Haye in impeccable shape ahead of comeback
- Heavyweight Yoka storms to stoppage win
- Gritty, tough Eggington finds a way to win
- Hrgovic wins after five knock-downs
Top Rank promoter Bob Arum said: "If the fighters want the fight, I have no problem putting Oscar in with the winner of Herring and Stevenson."
Gabriel Flores Jr was beaten in a shock result by Luis Alberto Lopez.
Previously-unbeaten Flores Jr refused to be pulled out after the ninth round by his father and trainer, and eventually lost a one-sided unanimous decision.
"I really was expecting the fight to be stopped," Lopez said. "I was looking at the referee or even at his dad. I was looking at him, and he didn't want to keep going, but I couldn't stop fighting."
Big-punching Omar Aguilar scored a 21st knockout in 22 unbeaten fights against Carlos Manuel Portillo.
Sky Sports Boxing schedule
September 25 - Sky Sports Box Office
Anthony Joshua vs Oleksandr Usyk - IBF, WBA, WBO heavyweight titles
Lawrence Okolie vs Dilan Prasovic - WBO cruiserweight title
October 2
Chris Eubank Jr vs Sven Elbir
David Avanesyan vs Liam Taylor - European welterweight title
Richard Riakpohre vs Krzysztof Twardowski
Mikael Lawal vs Steven Ward
October 16
Savannah Marshall vs Lolita Muzeya - WBO middleweight title
Hughie Fury vs Christian Hammer
October 24
Jamel Herring vs Shakur Stevenson - WBO super-featherweight title
November 6
BOXXER tournament
December 18
Josh Taylor vs Jack Catterall - undisputed super-lightweight title