Shaw grew up in Belleville, Ontario. When he was growing up many, including his own family, believed his younger brother Jason had the best shot in the NHL. Jason is currently a player in the Ontario Hockey League. Shaw also has an older brother named Josh.
Shaw made his OHL debut with the Niagara IceDogs in a September 20, 2008 game against the Ottawa 67's. He scored his first OHL goal in a game against the Plymouth Whalers. On November 14, Shaw had his first assist in a game against the Kitchener Rangers at the Kitchener Memorial Auditorium Complex. Shaw had 17 points (eight goals and nine assists) overall in his OHL rookie season and ranked second on his team with 97 PIM in 56 regular-season tilts.
In an October 17, 2009 game against the Sudbury Wolves Shaw gained a goal and two assists making it his first career multi-point game. In a January 2, 2010 game at Sudbury he had his first career multi-goal game. Shaw had 11 goals and 25 assists in 68 regular-season tilts. He ranked fifth on the team with 36 points and paced the team with 129 PIM, recording 4 PIM in five postseason appearances.
Shaw had a season-best four assists in a September 15, 2010 game against the Guelph Storm. From October 14 to October 23 he had a point in six straight games, with two goals and six assists, and Shaw had points (four goals and two assists) in four straight games during the OHL playoffs. He also had three multi-goal games in 20 OHL postseason games in 2011. After the end of the season Shaw was honoured as the OHL’s Hardest Working Player of the Year.
During the season, Shaw led Owen Sound with 135 penalty minutes and ranked fifth on the team with a junior career-high 54 points. This season gave him junior career highs, with 54 points, 22 goals, 32 assists, 135 penalty minutes in 66 regular-season games. He registered a junior-career best +17 plus/minus rating, led his team with 135 PIM, ranked third on his team with 10 goals and fourth with 17 points (10 goals and 7 assists) in 20 postseason appearances. Shaw paced the attack with 53 PIM on the way to the OHL Championship, paced all skaters at the 2011 Memorial Cup with seven points (2 goals and 5 assist) in four games.
Despite missing two consecutive drafts, Shaw was selected by the Chicago Blackhawks in the 5th round (139th overall) of the 2011 NHL Entry Draft. Shaw split time between the Chicago Blackhawks and their AHL associate the Rockford IceHogs in the 2011–2012 season.
Shaw made his professional debut in an October 8, 2011 game against the Grand Rapids Griffins. In Rockford's 5–3 win against the Peoria Rivermen on October 9 at Carver Arena Shaw made an assist on the game-winning goal, his first professional career point. In Rockford's 6–4 win against the Peoria Rivermen on October 28 at Carver Arena he scored the first goal of his professional career. Shaw had both the first multi-point game (one goal and two assists) and first shorthanded goal of his professional career in Rockford's 7–3 win over the Peoria Rivermen on November 25. In Rockford's 6–3 at-home victory over the Chicago Wolves on December 9 Shaw had the first multi-goal game of his professional career and he was named the #1 Star of the game. Shaw scored two goals in Rockford's 5–4 shootout loss to Grand Rapids Griffins on December 14 at Van Andel Arena. For the month of December, Shaw totalled nine points: eight goals and one assist.
On January 3, 2012 Shaw signed a three-year entry level contract and was recalled January 4 by Chicago to replace injured agitator Daniel Carcillo, his first career NHL recall. On January 5, 2012, Shaw made his NHL debut in a game against the Philadelphia Flyers, getting into a fight, with Zac Rinaldo, on the second shift, the first fight of his NHL career. He needed stitches, but later returned to score the first goal of his NHL career on his first shot of his first game against Ilya Bryzgalov. Shaw led the Blackhawks rookies with seven hits. Shaw missed three postseason tilts (April 17–21) due to suspension. January 12 through January 18 Shaw had goals in four straight games.
During the lock-out, Shaw played for the IceHogs. He served a six-game suspension after leaving the bench to join a fight on November 3. Four games after serving that suspension, Shaw received a one-game suspension for a boarding incident in a game against the Chicago Wolves. Shaw scored a goal in each of the four games between these two suspensions. Shaw had a goal and an assist in a 4-3 shootout win over the Lake Erie Monsters.
Shaw returned to the Blackhawks when the NHL season resumed. He played in all 48 regular season games as the Blackhawks won the Presidents' Trophy and advanced to the Stanley Cup playoffs and, eventually, the Stanley Cup Finals. On June 12, 2013, Shaw had the game-winning tip-in of the opening game of the Finals to give the Blackhawks a 4–3 triple-overtime victory over the Boston Bruins. Minutes into the first period of the sixth (and final) game of the Finals, Shaw took a puck off Shawn Thornton's stick to his face. He fell to the ice and lay in a small pool of blood. Officials stopped the play and Shaw was helped to his feet and repaired in the dressing room. Shaw returned in the second period and hoisted the Stanley Cup with his wounds still partially bleeding. After the season was over, Shaw revealed that he had a broken rib while playing in the Stanley Cup Finals. Shaw scored nine points and had 35 penalty minutes in the playoffs and helped Chicago win the Stanley Cup.
On May 19, 2015, in the second overtime of game 2 of the Western Conference Finals, Shaw deliberately headbutted the puck into the Anaheim Ducks' net. The goal was waved off by the game's referees, but the Blackhawks eventually won the game after a goal was scored with 3:48 remaining in the third overtime period.
On April 19, 2016, Shaw recorded one goal and two assists in a playoff game against the St. Louis Blues. Later in the same game, he shouted a homophobic slur towards a referee who had penalized him for interference. Shaw later apologized for the remarks. He also instigated a brawl after the final horn. The NHL suspended Shaw for one game and fined him $5,000. Shaw finished the playoffs with four goals and two assists.
On June 24, 2016, Shaw was traded to the Montreal Canadiens during the 2016 NHL Entry Draft in exchange for two 2016 second-round picks. Three days later on June 27, Shaw came to a six-year contract agreement with the Canadiens worth $23.4 Million. The NHL suspended Shaw for three games for boarding Connor Hobbs during a preseason game played on September 26. Shaw scored his first goal with the Canadiens on October 13. Controversy ensued Shaw again when he slew footed Johan Larsson of the Buffalo Sabres at the end of the same game. The incident occurred towards the end of the game while the Canadiens had a 4–1 lead over the Sabres. Shaw was assessed a match-penalty, but did not receive any supplemental discipline after meeting with the Department of Player Safety.
Shaw developed a reputation as an agitator for his aggressive play and verbal instigation while playing for the Chicago Blackhawks. He compared his playstyle to Boston Bruins player Brad Marchand, saying "We're both agitators. We both play physical and we're always chirping." Joel Quenneville, who coached Shaw in Chicago, praised Shaw by stating, "You're not going to find the same ingredient that [Shaw] provides, whether it's the game-to-game consistency of being an agitator, net-front presence on your power play, good in the room, good on the bench, good on the ice, smart hockey player, makes plays, brings that nastiness you appreciate and comes ready to play every game." Shaw has also gained the nickname "Mutt" from some of his teammates and fans regarding his rough style of play.
Shaw also performs an intricate warm-up ritual which he has practiced before every period since 2009. As part of his routine, Shaw strikes his shin pads approximately seven times with his hockey stick, practices fore and back-hand face-off draws, twirls his hockey stick in his hands, plants the knob-end of his stick onto the ground, and then walks in a circle around it.
Shaw is known for wearing a black rubber bracelet with 'Ironworkers Local 721', the name of a local union in Belleville, on the back in tribute to ironworkers from his hometown and as a reminder of his roots. He brought the Stanley Cup back to his hometown for his day with the cup. In August 2013, Shaw auctioned the stitches from his facial injury—made famous as "the definitive image of the NHL playoffs"—for $6,500 and donated the money to The V Foundation for Cancer Research.
Shaw married his longtime girlfriend, Chaunette Boulerice, on August 12, 2017.