The 20-year-old had previously been linked with a host of clubs, including Everton and Stoke City.
"This is a dream come true for me. I've been given a great opportunity and this is a very exciting project that's taking place at Cardiff City. I'm very happy to be here and to be playing for this Club in the Premier League," he told the club's official website.
"There were opportunities for me this summer and I had to think about what was the right thing to do, the correct step for me to take in terms of my career. I was impressed by what the club is trying to do, the fact it has reached the Premier League and that it has a passionate fan base supporting it."
The Dane has become manager Malky Mackay's first recruit of the summer.