Larsson started his professional career in 2002 with BK Häcken in the Superettan, the second tier of professional football in Sweden. His twelve goals during his final season with Häcken helped the club win promotion to the Allsvenskan. In 2009, he left Häcken for Malmö FF.
Malmö
He scored his first goal for Malmö FF on 19 April 2009 in the second home game of the season against Trelleborgs FF. For the 2009 season he was the club's top scorer with 11 goals, finishing third in the league overall. Larsson formed a partnership in attack with Edward Ofere, who himself scored 10 goals, many of them assisted by Larsson. During 2010 Allsvenskan, Larsson became one of the most important players in Malmö FF's title-winning squad. He once again scored 10 goals, and assisted on 10 as well, which was the highest number of assists in the league that year. Many credit Larsson with improving his game in terms of vision, teamwork, passing skill and pace, all of which were considered his key assets. Larsson scored the only goal in the first leg of the 2011–12 UEFA Champions Leaguethird qualifying round for Malmö to win the game 1–0 against Rangers at Ibrox Stadium. He finished as Malmö FF's top scorer for the 2011 season with 6 goals and 9 assists. During the 2012 season Larsson managed only 4 goals in 30 matches, his lowest tally for Malmö. On 7 November 2012 it was announced that Larsson would go on a free transfer to Spanish club Real Valladolid when his contract with Malmö FF ended on 1 January 2013.
Real Valladolid
On 7 November 2012, Malmö FF confirmed that Larsson would transfer to Real Valladolid on 1 January 2013. On 25 October 2013 he scored his first goal for the club in a 3-0 away victory against Rayo Vallecano.
Granada
In June 2014 it was confirmed that Larsson would transfer to Granada CF on a three-year contract. He signed on for about 525,000 € per season on 10 June 2014. On 30 January 2015, after appearing in only one match with the Andalusians, Larsson was loaned to Esbjerg until June.
On 7 August 2015, Larsson was transferred to Turkish Süper Lig club Gaziantepspor. He went on to score 4 goals in 46 appearances for the club before ending his contract by mutual agreement on 20 December 2016.
After ending his contract with Gaziantepspor early, Larsson completed a move to fellow Süper Lig side Akhisar Belediyespor. He signed a -year contract on 22 December 2016. On 10 May 2018, Hasan Ali helped Akhisar Belediyespor win their first professional trophy, the 2017–18 Turkish Cup.
On 24 January 2019, following his release from Akhisar Belediyespor, he signed a -year contract with Aris. His first goal came after 4 appearances in an emphatic 3-0 away win against Asteras Tripolis, on 11 February 2019. On 3 March 2019, Larsson scored in a 2-0 home win against title holdersAEK Athens. On 24 November 2019, he scored against AEK Athens, opening the score in an eventual 1-1 away draw. This was his first goal after 265 days. He then scored an equalizer at home against Lamia on 1 December 2019 and on 4 January 2020, he scored in a massive 4-2 home win against PAOK, at the Derby of Thessaloniki. On 13 February 2020, Swedish midfielder Daniel Larsson found himself in a great position after escaping the attention of the Atromitos defence, and he subsequently calmly slotted the ball beyond Balazs Megyeri, sealing a vital 1-0 Greek Cup away win against Atromitos, helping his club qualified for the semi-finals. On 22 February 2020, he scored in a 2-2 away draw against Lamia.
International career
Larsson made his debut for Sweden against Oman as a part of Sweden's winter tour on 20 January2010. On 17 May 2010 he was once again included in the national squad.