Keith signed with the Chicago Blackhawks prior to the 2003-2004 season and was assigned to the Norfolk Admirals of the American Hockey League. During his first pro season, he scored 25 points in 75 regular season games. During the NHL lockout in 2004-2005, he remained with the Admirals and registered 26 points in 79 games.
October 5, 2005 marked Duncan’s first career NHL game vs. the Anaheim Ducks. In his rookie season, he scored 21 points while playing in all 82 regular season contests. That summer, Duncan signed a 4 year contract extension keeping him in Chicago until the 2009-2010 season. During his sophomore season, Duncan found himself paired with Brent Seabrook on the Blackhawks top defensive unit while leading the team in plus minus and TOI. That same year, Duncan was elected to his first NHL All Star game and finished the season with 32 points and a +30 rating. That summer, he represented Team Canada a the World Hockey Championships, earning a silver medal.
In the 2008-2009 season, Keith was named alternate captain along with Patrick Sharp and Captain Jonathan Towes. Keith ranked 2nd in points among Blackhawk defenseman and helped lead the Blackhawks to a postseason appearance.
2009 – 2010 would prove to be a year to remember for Duncan. Keith signed a record 13 year deal with the Blackhawks locking him into the Windy City until 2022. He finished 2nd on the Hawks in points with 69 and added an additional 17 points in the playoffs. That spring, he helped Chicago win its first Stanley Cup title since 1960-61 season by defeating the Philadelphia Flyers in 6 games. Additionally, that January, Keith was a major factor in the Canadian Men’s Olympic Hockey Team winning gold at the 2010 Olympics in his home Province of British Columbia. He lead Team Canadian in TOI and finished with 6 assists.
2010 – 2011 Duncan ranked second among club defensemen with seven goals, 38 assists and 45 points while being one of two Blackhawks to skate in all 82 regular-season games. Led the NHL for the first time in his career with 26:53 of ice time per game, which was his sixth straight season leading Chicago in that category.