The 20 year old striker has signed a three year contract with the Bluebirds and becomes the 6th signing made by Malky Mackay.
A fee thought to be around £250,000 has been paid for a player who started at Home Park aged just 9. He broke into the first team 18 months ago and has scored 10 goals in 31 starts.
So now City have snapped up six players.
Craig Conway, Don Cowie, Andrew Taylor, Robert Earnshaw, Aron Gunnarsson and Joe Mason.