Adrien Broner lost his unbeaten record and WBA welterweight title after being outclassed by Marcos Maidana in Texas.
The 24-year-old American was knocked down twice by his Argentine opponent, who won a unanimous points decision.
Broner was rocked by a first-round punch, took an eight count after being sent tumbling into the ropes in the second and floored in the eighth.
"I had to show a lot of heart to win this fight," said 30-year-old Maidana. "I did what I had to do to win."
Defending champion Broner, who was favourite to extend his winning run to 28 fights, was quickly on the back foot.
He stumbled in the first round after Maidana landed an overhand right and he took an eight count in the second after he was caught with a lunging left hook to the chin that sent him into the ropes.
Broner regained his composure through the middle of the fight, trading blows with the challenger, but Maidana took control in the latter stages of the fight, flooring the American in the eighth with a left to the body and an overhand right which resulted in another standing eight count.
The former super-featherweight and lightweight world champion then fell to the canvas again in the eighth round after Maidana's head connected with his jaw.
The fight was held up for three minutes as the challenger was deducted a point, but it made little difference to the outcome as Maidana won the contest 115-110, 116-109, 117-109.
Broner, who ran from the ring, said: "I'm OK. I'm still the three-time world champion in three different weight classes. Maidana was just the better man, but we fought a hell of a fight.
"I'm still going to live like we won the fight. I'm still going to party."
The shock win has given Maidana a possible fight against Keith Thurman, who stopped Jesus Soto Karass in the ninth round on the undercard.