Kampl was born in Solingen, Germany. His parents moved to Germany from Maribor, a city near the Austrian border in northeastern Slovenia. Kampl has a dual citizenship and would have been eligible to play for Germany but chose Slovenia early on.
Kampl began his career with Bayer Leverkusen. After some years in the youth team of Bayer Leverkusen II he signed for SpVgg Greuther Fürth.
On 30 August 2010, he signed a one season loan contract with SpVgg Greuther Fürth. Kampl made his first team debut on 29 October 2010 as a late substitute in a 2. Bundesliga tie with Erzgebirge Aue. After only half a season for Greuther Fürth, he returned to Bayer Leverkusen during the 2010–11 winter transfer window. Kampl made his Leverkusen 2010–11 season debut as a second-half substitute in the UEFA Europa League game against Metalist Kharkiv. In the summer of 2011, Kampl transferred to 3. Liga side VfL Osnabrück. After having played a great season for Osnabrück, he joined newly promoted 2.
Bundesliga club VfR Aalen for a transfer fee of €250,000. For Aalen however he played only four matches, scoring two goals and assisting another three. This marvelous start drew the attention of well-financed Austrian champion Red Bull Salzburg and they acquired him just before the end of the transfer window by fulfilling his release clause in the amount of €3 million. He was nominated for the best player of the Austrian Bundesliga at the beginning of the 2013–14 season, but had to eventually concede to Philipp Hosiner.
On 22 December 2014, it was announced that he will join Borussia Dortmund. Kampl signed five-year contract.