Carl Froch retained his WBA and IBF super-middleweight titles with a ninth-round stoppage of George Groves at Manchester Arena.
Froch, 36, was floored by underdog Groves in the first round and was playing catch-up thereafter.
After some thrilling exchanges the challenger was ahead on all three judges' scorecards going into the ninth, when Froch turned things around.
However, while Groves did seem to be in some trouble when the fight was stopped, the referee probably stepped in too soon.
The crowd, who had jeered the 25-year-old Groves into the ring, certainly thought so, booing both the champion and the decision.
Nottingham's Froch said he would be open to a rematch, and while he has other options, he might not be able to avoid a return bout with Groves.
Other options for three-time world champion Froch include a rematch with American Andre Ward, who beat him in 2011, or hard-hitting WBA middleweight champion Gennady Golovkin.
"Let's have a rematch [against Groves] and sort it out," said the champion.
The veteran fighter said that referee Howard Foster from Doncaster made the correct decision to halt the fight.
"He's is a very experienced referee. George had his head low and I had a free shot and the referee had a split-second decision to make. It was dangerous and he had to put the safety of the fighter first."
Groves made plenty of confident noises before the fight, despite his relative inexperience.
Indeed, an ill-tempered build-up brought back memories of the bitter rivalry between Nigel Benn and Chris Eubank in the 1990s.
However, while Londoner Groves had 19 wins and no defeats before Saturday, he had never fought anybody of Froch's class.
Froch was taking part in his 11th consecutive world title fight, arguably the most gruelling sequence by a British boxer in the modern era.
At the final news conference, Groves said he would meet Froch in the centre of the ring, push him onto the back foot and pepper him with right hands.
And Groves made good on his promise, flooring the champion with a crackerjack right towards the end of the first round.
Froch was on unsteady legs when he finally made it to his feet and still looked groggy at the beginning of the second, which Groves probably nicked.
Froch had Groves in a spot of bother with a flurry in the third and the challenger finished the round with pronounced swelling under his left eye.
Groves landed with a couple more big rights in the fourth and the pair exchanged smiles at the sound of the bell to end the round.
Froch got the better of some tasty exchanges in the fifth before a classic sixth, which Groves probably won courtesy of some more dynamite right hands.
Froch employed a high guard for periods of the seventh but was unable to prevent Groves from getting through.
The champion was warned for use of his forearm in the eighth and there were signs that Groves was beginning to run out of steam.
Groves came out bombing at the start of the ninth but a thunderous right from Froch turned the fight on its head.
With Groves tottering and turning away from Froch, referee Foster decided the challenger had taken enough punishment.
The capacity crowd at the Manchester Arena were incensed at the premature ending, and it is doubtful the referee would have been so compassionate had it been the other way round.
Groves was leading 78-73, 76-75 and 76-75 on the judges' scorecards when the fight was stopped.
Froch now has 32 wins from 34 professional fights but will not be satisfied until he can secure a return match with Ward, the world's best at 168lb.
The dazzling Ward easily outpointed the previously unbeaten Edwin Rodriguez last weekend to remain undefeated in 26 fights.
But Froch, who was cheered into the ring but booed out of it, may have to do it all again against Groves before looking elsewhere.