With some of the biggest boxing matches in recent years taking place in 2015, it’s not surprising that the last 12 months featured plenty of action-packed fights. Some of the most anticipated bouts were disappointing, and a few of the year’s best fights occurred on the undercard of big pay-per-views.

Floyd Mayweather and Manny Pacquiao met in the most profitable PPV of all time, but many fans were bored by the fight, which featured 12 largely lackluster rounds. Canelo Alvarez and Miguel Cotto had a spirited bout on the year’s second-biggest PPV, but that fight was outdone by one that preceded it earlier in the night.

Below is a look at the five best fights of 2015.

Lucas Matthysse vs. Ruslan Provodnikov (April 14)

It was no surprise that two of the most exciting boxers in the world met in a candidate for Fight of the Year. With the bout lasting 12 rounds, Matthysse won a close majority decision as the judges scored the fight 115-113, 115-113, 114-114. Matthysse landed 327 of 1,034 punches thrown, but Provodnikov inflicted plenty of damage himself. He landed 201 punches, leaving Matthysse with a swollen eye.

Canelo Alvarez vs. James Kirkland (May 9)

It didn’t even last three full rounds, but there was more action in this short bout than there was in most 2015 fights that went the distance. Alvarez landed 87 punches, six more than Pacquiao did against Mayweather a week earlier, and the ref was forced to stop the fight when a huge right hand sent Kirkland to the canvas. Kirkland was knocked down three times in the loss, though he was able to land 42 punches of his own in an action-packed fight.

David Lemieux vs. Hassan N’Dam (June 20)

Before he was outclassed by Gennady Golovkin in October, Lemieux put on one of the most impressive performances of the year. The middleweight landed 48 percent of his power shots, totaling 168 in his unanimous decision victory. It was a slugfest as Lemieux landed 216 punches, while N’Dam connected with 202 of his 627 attempts. N’Dam was able to finish the fight, despite being knocked down four times, including twice in the fifth round.

Roman Martinez vs. Orlando Salido (Sept. 12)

On the undercard of Mayweather’s final fight, Martinez and Salido gave the fans the night’s most entertaining action. The fight ended in a draw and Martinez retained his championship after the junior lightweights went at it for 12 exciting rounds. Many in attendance gave the edge to Salido, who landed 285 punches to the champ’s 189. Salido was incredibly active, throwing 1,037 punches, and both boxers were knocked down in the second round.

Francisco Vargas vs. Takashi Miura (Nov. 21)

Alvarez vs. Cotto was the main event of the PPV, but Vargas and Miura easily put on the most entertaining fight of the night. Vargas won with a ninth-round knockout, despite being bloodied and unable to see out of one eye. It looked like Vargas might end the bout in the first round when he landed several clean shots to Miura’s face, but Miura rebounded and was ahead on two scorecards before the fight was stopped. The boxers combined to land 435 punches.