Bebe was bought for 7.4 million pounds from Vitoria de Guimaraes in August 2010 by then-manager Alex Ferguson who later said he had not seen the player in action either live or on video before completing the deal.
He failed to impress at United and quickly became known as one of Ferguson's biggest mistakes in the transfer market, making just two substitute appearances in the league.
Bebe was loaned out to Besiktas and Rio Ave before rebuilding his reputation in a third loan spell at Portuguese side Pacos de Ferreira.
The 24-year-old joins a Benfica side who won the domestic treble last season but need attacking reinforcements after selling Serbian winger Lazar Markovic to Liverpool.
"Everybody at United would like to wish Bebe the best of luck for the future," United said on the club website.