Stafford was born in Milwaukee, Wisconsin, but grew up in Faribault, Minnesota. As a teenager, he played AAA hockey with the Milwaukee Jr Admirals. His father, Gordie, played professional hockey in the International Hockey League and is the director of hockey at Shattuck-Saint Mary's in Faribault, where Drew also played high school hockey. Stafford's uncle, Barrie Stafford, was the head equipment manager for the Edmonton Oilers for 28 years before retiring in 2012.
Playing career
Amateur
Stafford played for the St. Albert Bantam AA Flyers in St. Albert, Alberta, in 1999–2000. During the season, he finished third in League scoring with 26 goals and 47 points in 30 games while leading his team to a provincial berth. At the conclusion of the season, Stafford was selected to participate in Hockey Alberta's elite development program as a member of the Northwest Sharks in the 2000 Pioneer Chrysler Alberta Cup. Stafford played at Shattuck-Saint Mary's in Faribault, Minnesota, for two years and played on the US national team at the 2003 IIHF World U18 Championships. He then played for three seasons at the University of North Dakota and on the US national team at the 2004 and 2005 World Junior Ice Hockey Championships. Following his freshman season, Stafford was drafted 13th overall in the 2004 NHL Entry Draft by the Buffalo Sabres. After two more seasons, he signed a professional contract with the Sabres in 2006, foregoing his senior season at the University of North Dakota. Stafford finished his three-year collegiate career with 118 points.
Professional
Buffalo Sabres
Stafford began his professional career with Buffalo's American Hockey League affiliate, the Rochester Americans. With nine points in the first 11 games of the season, he caught the attention of Sabres management, and was called up to Buffalo in early November to replace injured winger Maxim Afinogenov. In his NHL debut on November 5 against the New York Rangers, Stafford assisted on a game-winning overtime goal by Daniel Brière, earning his first NHL point. On November 11, he scored his first goal in the NHL on the Philadelphia Flyers' Antero Niittymäki. He won NHL Rookie of the Month honors for March 2007 despite the fact that Paul Stastny of the Colorado Avalanche had his record-breaking rookie scoring streak in the same month. Stafford scored his first game-winning goal on February 27 against the Toronto Maple Leafs. Stafford became a regular in the Sabres' lineup during the 2007–08 season, scoring his first career hat-trick against the Atlanta Thrashers on January 18, 2008. More than a year later, he went on to score his second hat-trick in a 10–2 rout of the Edmonton Oilers on January 27, 2009. A little less than a year after that, he celebrated his third hat-trick on December 15, 2010, against the Boston Bruins. He added his fourth, also against Boston, on January 1, 2011, his fifth on February 8, 2011 against the Tampa Bay Lightning, and his sixth on February 13, 2011, against the New York Islanders. On June 3, 2011, Stafford signed a four-year, $16 million contract extension with the Sabres.
Winnipeg Jets
In his ninth season with the Sabres in 2014–15, on February 11, 2015, Stafford was traded alongside Tyler Myers, Brendan Lemieux, Joel Armia and a 2015 first-round draft pick to the Winnipeg Jets in exchange for Evander Kane, Zach Bogosian and the rights to goaltending prospect Jason Kasdorf. On February 14, 2015, in just his second game on the Jets, Stafford scored a goal in regulation, as well as the shootout winner, in a 5–4 shootout victory over the Detroit Red Wings. On February 6, 2016, during a game against the Colorado Avalanche, Stafford hit Nick Holden in the face with a high stick, earning him a one game suspension. On the eve of free-agency Stafford re-signed to a two-year contract to remain in Winnipeg on June 30, 2015.
Boston Bruins
On March 1, 2017, Stafford was traded from Winnipeg to the Boston Bruins for a conditional 6th round pick in the 2018 NHL Entry Draft. On March 4, Stafford played in his first Bruins game, racking up his first scoring point as a Bruin by assisting on Ryan Spooner's game-winning goal against the New Jersey Devils for a 3-2 home ice win at TD Garden. Stafford scored his first Bruins goal on March 8, Boston's third goal en route to a 6-1 home ice defeat of the visiting Detroit Red Wings.
New Jersey Devils
On August 25, 2017, Stafford signed a one-year, $800,000 contract with the New Jersey Devils. In 59 games with the club, Stafford recorded eight goals and 15 points in 59 games. On September 7, 2018, Stafford signed a professional tryout agreement to attend the Devils' training camp. On October 5, the Devils signed Stafford to a one-year, $810,000 contract. On January 4, 2019, Stafford scored the game-winning shootout goal in his 800th regular-season NHL game. On September 4, 2019, it was announced that Stafford would attend the Minnesota Wild's training camp on a professional tryout.
Personal life
Stafford was born in Milwaukee, when his father, Gord Stafford, played professional hockey with the Milwaukee Admirals of the International Hockey League and the Wichita Wind of the Central Hockey League during the 1980s. Stafford formed a band called Red Seal Peach while at the University of North Dakota with goaltender Jordan Parise. Stafford appears in the Every Time I Die video for "Decayin with the Boys," playing jenga at a party in full hockey uniform.