"What the world has been waiting for has arrived. Mayweather vs. Pacquiao ... is a done deal," said Mayweather, announcing the fight through social media..
"I promised the fans we would get this done, and we did," he added.
The welterweight world title fight is likely to smash all revenue records and be the richest bout in the sport's history, easily eclipsing the pay-per-view record of 2.4 million viewers for Mayweather's fight against Oscar De La Hoya in 2007.
"I am very happy that Floyd Mayweather and I can give the fans the fight they have wanted for so many years," Pacquiao said.
"They have waited long enough and they deserve it."
The two have been considered the best pound-for-pound boxers of their generation but a host of issues have stopped the two meeting in the ring, including differences over drug testing protocols as well as revenue splits and broadcaster conflicts.
Both are coming to the end of their careers and have established interests elsewhere. According to Forbes, Mayweather, 38, is the highest paid athlete in world sport.
Pacquiao, who is 36, has run for political office in his native Philippines.
Mayweather remains unbeaten in 47 bouts whilst Pacquiao has won 57, and lost five.
Fight six years too late?
The question is: has the fight come to late in both of their careers to truly discover who is the greatest?
"Pacquiao, he had the good sense to come to the table," ESPN boxing expert Teddy Atlas told CNN.
"Pacquiao came and made a lot of concessions. Mayweather had options. He had other choices."
Atlas believes that Mayweather is the favorite.
"The fight comes six years too late," he said.
"Six years ago Pacquiao was a killer, a destroyer. Now he's not. He hasn't knocked anyone else for a while."
The fight will take place in Las Vegas on May 2.