Sammy Ameobi has agreed a new contract with the Magpies, but will join Russell Slade’s side in order to play more first-team football.
The 23-year-old is an England Under-21 international who also played for Nigeria’s Under-20 team.
He is Slade’s second signing of the summer after Bluebirds signed defender Semi Ajayi from Arsenal.
Ameobi has made 54 Premier League appearances for Newcastle, and scored against Hull City and Tottenham Hotspur last season.
Wolverhampton Wanderers and Brighton had also shown an interest in Ameobi.
Amoebi said at the press conference “It’s always been my dream to play in Europe, now I just need to find my passport to get to Wales”