A full international between 2005 and 2010, he won 20 caps and scored 11 goals for the Denmark national team and was a squad member at the 2010 FIFA World Cup.
After a two-month-long controversy Larsen was sold to German club FC Schalke 04 on 31 July 2005, signing a four-year contract.
On 24 January 2009, he scored his first four goals for the club in an 8–0 win against amateur team Schirrhein in the Coupe de France, but after one year he turned back to Germany and signed a one-year loan deal with MSV Duisburg.
On 13 July 2011, he signed a three-year contract with the Danish Superliga side AGF Aarhus, and made his debut appearance for the first team only five days later, at home against Lyngby Boldklub.
On 2 June 2005, Larsen was handed his international debut by Denmark manager Morten Olsen, when he came on as a substitute in the 1–0 win over Finland.
He continued his good form by sensationally scoring six goals in his first five national team matches from June to September 2005.