"I'm very happy to join a great club like AS Monaco. I will give everything to improve and help the club to have a great season. I look forward to meeting my teammates," the 22-year-old told Monaco's website.
Onyekuru, who has made 11 appearances for the Super Eagles, originally joined the Premier League side in 2017 but has spent the two past campaigns on-loan with Anderlecht and Galatasaray.
The winger scored 14 league goals in Turkey last season and reportedly joins the Ligue 1 outfit for €17 million ($19 million).
Leonardo Jardim's options in front of goal could be strengthened further with Sevilla's France forward Wissam Ben Yedder being linked with a move to Stade Louis II.
However former club captain Radamel Falcao and Portugal wide-man Rony Lopes have been linked with moves away from the Principality.