The 24-year-old Swiss winger has agreed to a five-year deal, with the option to extend for another year.
Nottingham Forest will pay €40 million for Ndoye, plus additional €5 million in bonuses, and will also give Bologna a 10% share of any future sale.
This move was made possible after Napoli, who were also interested in Ndoye, failed to reach an agreement with Bologna.