2008-09: Johan Larsson played mostly for Brynas at the J20 junior level. In 33 games, Larsson scored 4 goals and added 5 assists for 9 points. He registered no points in 5 playoff games.
2009-10: Larsson played for the Brynas J20 squad once again, netting 15 goals and adding 19 assists for 34 points in 40 games. Larsson broke loose at the U-18 World Junior Championships in Minsk, posting 6 goals and 8 assists for 14 points in just 5 games, which ranked him second in points at the tournament. Larsson was also captain of the Swedish entry, which won silver. Larsson was chosen by the Minnesota Wild in the second round, 56th overall, of the 2010 NHL Draft.
2010-11: Larsson appeared in 43 games for Brynas as an 18-year-old rookie in Sweden's Elitserien and scored 4 goals with 4 assists. In mostly lower line duty, Larsson was +3 with 18 PMs as Brynas finished seventh in the 12-team league. He skated in all five playoff games and had 2 assists and was -4. In ten games with Brynas' U20 team he scored 6 goals with 9 assists. Larsson skated for Sweden at the 2011 U20 World Championship; scoring 1 goal with 3 assists and finishing with an even plus/minus in six games as Sweden finished fourth.
2011-12: In his second pro season with Brynas, Larsson won both a Swedish Elitserien championship and a gold medal at the 2012 U20 World Junior Championship. Larsson was Brynas' third-leading scorer during the regular season – scoring 12 goals with 24 assists in 49 games. Averaging 18:27 minutes per game, he was minus-ten with 34 penalty minutes. Brynas finished fourth during the season before its successful playoff run. Larsson scored 2 goals with 8 assists and was plus-six with 16 penalty minutes in 16 playoff games as Brynas captured the league title. He had 6 assists and was plus-three in six games for Sweden at the WJC. Sweden defeated Russia, 1-0, in overtime in the gold medal game.
2012-13: Larsson made his first NHL appearance with the Wild in a February 17th game against Detroit — seeing 14 minutes of ice time with no points or penalty minutes. He spent most of the season with Minnesota's AHL affiliate in Houston before being acquired by Buffalo along with goalie Matt Hackett on April 3rd as part of the trade that sent Jason Pominville to Minnesota. He scored 15 goals with 22 assists and had an even plus/minus with 38 penalty minutes in 62 games with Houston prior to the trade. He finished the season with the Rochester Americans, scoring 1 goal with 3 assists and finishing -2 in seven regular season games. Rochester finished second in the North Division and were swept by first place Toronto in the first round of the playoffs. Larsson had 3 assists and was +2 with 6 penalty minutes in three playoff games.
Larsson is a hard-working, two-way winger who can play either wing. He is a strong team player and plays in all situations. He can chip in offensively and play shifts on the penalty kill, though he has no high-end skill to speak of.
Larsson spent the majority of his first pro season in the AHL but the general consensus is that he’s ready for a regular role with the Sabres on the bottom two lines.