Lyngby Larsen played for
Lyngby Boldklub from 2005, whom he moved to from the youth academy of
Herlev IF. He never made a senior appearance for Lyngby, but gained several caps for Denmark national youth teams during his time at the club. While at Lyngby, Larsen went on trials abroad, among others with English club
Everton. He moved away from Lyngby Boldklub in 2010.
AaB 2010–2012 On 15 June 2010, ahead of the
2010–11 season,
AaB signed Larsen on a two-year contract. Then
director of sports in AaB,
Lynge Jakobsen stated in the club's press release that "Nicolai is young, but has the potential to become a
Superliga goalkeeper, and with us he will, among other things, through daily practice with
Karim Zaza and our goalkeeping coach
Poul Buus have the opportunity to continue his development". who played in AaB for four years, between 2007 and 2011. . Viborg won 8–7 after
penalties Larsen made his debut for AaB as a 20-year-old when he started in an away match against
Brøndby IF on 17 July 2011. His first senior appearance ended in a 2–2 draw, where he played the full 90 minutes. Larsen was considered the starting goalkeeper in the
2011–12 season, his second at AaB, after Zaza's contract with the club was not extended, Addressing Larsen's debut,
Kent Nielsen, AaB's head coach, stated that "we [AaB] are therefore full of confidence and feel safe starting him, just as we are sure that he can also tackle the adversity that will come, sooner or later." In his debut season, Larsen made 32 appearances out of 33 possible in the Superliga. He received two
warnings during the season. At the age of 20, Larsen signed a four-year contract extension with AaB keeping him a part of the club from
Aalborg until 2015. He signed the contract at a point, where he had made 17 official first-team appearances for AaB.
2012–2014 The following season also saw him as the starting goalkeeper for AaB. He played all 33 matches from start, and also played a full 90 minutes in them all. At the end of the season, Larsen had played 2970 minutes in total in the
2012–13 season, as AaB finished in 5th place. In the
2013–14 Danish Superliga season, his third season as the club's starting goalkeeper, he made 32 out of 33 possible appearances in the league, playing full time in all 32 matches. In these 32 matches, Larsen also incurred one single
warning in a match against
Randers FC on 11 November 2013, which resulted in him receiving three suspension points. In December 2013, he was voted second in
Danish Goalkeeper of the Year awards by his fellow Superliga and
1st Division (second-tier) goalkeepers for 2013. Larsen signed a four-year contract extension on 2 May 2014, keeping him at the club until 30 June 2018. AaB would go on to win their fourth
Danish championship in the 2013–14 season. The title was secured on 11 May 2014, where AaB drew 0–0 away against
FC Vestsjælland, as
FC Midtjylland lost 3–2 to
Copenhagen, which effectively made the club from
Aalborg Danish champions. AaB also won the
Danish Cup this year, defeating Copenhagen in the final on 15 May 2014 to secure the Danish
Double. To kick off the new season, Larsen appeared in two
UEFA Europa League qualifiers on 18 and 26 July 2014 against Georgian club
Dila Gori, where AaB lost 3–0 on aggregate. On 26 December 2014, it was announced that Larsen had won the
Danish Goalkeeper of the Year award of 2014. It had originally been planned that the award should have been presented to Larsen prior to the match against
Brøndby IF on 22 February 2015 by Troels Bager Thøgersen, editor-in-chief of
Tipsbladet, but Larsen had to postpone in the last minute due to illness, and therefore the award was presented to him at the match against
Randers FC on 8 March 2015. Larsen received 58 out of 72 possible votes from his goalkeeper colleagues, while second-place in the competition,
Karl-Johan Johnsson from Randers FC, received 34 votes. On winning the award, Larsen stated that "[t]his is one of the big ones. It is a personal title, and it makes it is awesome that my competitors and colleagues are the ones who vote [...]" and he continued "[t]his is one of those awards I will look back on and be proud of[...]". He was brought in to supplement starting goalkeeper
Rúnar Alex Rúnarsson. He made his official debut for the club in the
2017–18 Danish Cup 3rd round matchup against
Vejgaard BK, where Larsen kept a clean sheet, as Nordsjælland won 4–0 on
Soffy Road. He would, however, not make his Superliga debut for Nordsjælland in his first season at the club, as Rúnarsson played all 36 matches. Runarsson was sold to French club
Dijon FCO in June 2018, and in early July 2018, Nordsjælland brought in
Nigel Bertrams from Dutch side
NAC Breda. Thus, Larsen had to compete with Bertrams and
Peter Vindahl Jensen for a starting job. However, Larsen initially took over the position as first goalkeeper, who among other made his European debut for the club in the
UEFA Europa League qualification against Northern Irish club
Cliftonville on 12 July 2018 and started in the following five matches in the tournament, until the club was knocked out of the tournament to Serbian side
FK Partizan over two legs. In particular Larsen was praised for his performances in the first leg of the second round qualifier against Swedish club
AIK, where he, among other things, saved a penalty kick. He made his debut in the Superliga for Nordsjælland on 15 July 2018 in a match against
Esbjerg fB, which ended 1–1.
Guingamp On 25 June 2020, after three years at Nordsjælland, Larsen was signed by French club
En Avant Guingamp on a two-year contract. He officially joined the club on 12 July. Larsen made his debut for the club on 22 August in a 1–0 home loss to
Chamois Niortais. He was benched after Guingamp experienced a poor start to the season. In late October, he tested positive for
SARS-CoV-2 together with teammate
Matthias Phaeton.
Silkeborg On 23 June 2021, it was announced that Larsen had signed a two-year contract with newly promoted
Danish Superliga club
Silkeborg. He made his debut on 19 July – the first matchday of the
2021–22 Danish Superliga – keeping a clean sheet in a 0–0 home draw against
SønderjyskE. He remained the starting goalkeeper for Silkeborg through the fall and recorded strong performances. On 9 May 2024, Larsen delivered a crucial save as Silkeborg won its second ever
Danish Cup. ==International career==