Billing was born in Copenhagen. After signing for Esbjerg in his native Denmark, he joined Huddersfield Town in 2013 on a youth contract. Billing signed a four-year professional contract in October 2013. After performing well for both the under-18s and under-21s, he made his first team debut for the club as a substitute in their 2–0 loss against Leicester City at the John Smith's Stadium on 26 April 2014.
His first start for the Terriers came 18 months later in their 2–2 draw against Reading at the Madejski Stadium on 3 November 2015. His first goal for the club came from a 30-yard strike against Nottingham Forest at the City Ground in a 2–0 win for the Terriers on 13 February 2016. On 19 November 2016, he scored his second goal for the club with a volley from 32 yards out in a 3–2 loss against Cardiff City.
Billing got slowly more and more space in the squad. After 10 good matches in the 2015–16 season, Billing signed a contract extension in March 2016. He got his breakthrough in the 2016–17 season. "In-form" Billing was linked with a transfer to Premier League club Crystal Palace. He played 24 games and scored two goals in total in that season. After the season, Billing was named as the youth player of the season in Huddersfield and his goal against Cardiff City in November 2016 was voted goal of the season.
In March 2019, Billing suffered racial abuse on social media; the matter was reported to police.
On 29 July 2019, Billing signed for Premier League AFC Bournemouth on a long-term contract for a £15 million fee, being given the No. 29 jersey.Billing made a strong start to his first season with Bournemouth, starting the first four Premier League games of the season and being nominated for the club's Player of the Month award for August. Billing scored his first goals for the club in the FA Cup Third Round fixture against Luton Town, as Bournemouth won the game 4-0. He then scored his first Premier League goal for the club, netting the opening goal against relegation rivals Aston Villa in a 2-1 win for the home side on the 1st February.
Billing was involved in a controversial Video assistant referee decision in a 3-0 away loss to Burnley FC in the Premier League on the 22nd February, when his knock-down from a corner to Joshua King was adjudged to be a handball by the VAR officials. This was one of two goals disallowed for handball for the away side in the game by VAR.
He made his single appearance for the U19s on 4 September 2014, as a substitute in their 2–1 win over Norway national under-19 football team in Lyngdal. On 9 March 2017, he was called up to the Denmark under-20 team to face the Czech Republic under-20 team and the Romania national under-20 football team. He earned his first cap for the U21 team in a qualifying match for the 2019 European Championship against the Faroe Islands on 31 August 2017; it ended in a 3–0 win. He again featured a week later in another qualifying match, which the team won 6–0 against Lithuania.