Craig Weller was born March 17, 1981 in Calgary, Alberta. The fifth round, 167th overall selection of the St. Louis Blues in the 2000 NHL Entry Draft, Weller honed his skills in the Western Hockey League with the Kootenay Ice.
A hard working right winger, Weller left Minnesota-Duluth and signed as a free agent with the Kootenay Ice of the WHL in 2001. In his second and final year with his junior club, he appeared in 69 games and helped the Ice to a Memorial Cup Championship. The following season, Weller would make his pro hockey debut splitting his time between the Hartford Wolfpack and Charlote Checkers of the AHL and ECHL respectively. He would remain with the Wolfpack for the better part of four seasons and serve as the club's captain in 2006-07.
Weller became a free agent in the summer of 2007, and shortly after he signed as a free agent with the Phoenix Coyotes. He stint in Phoenix however was short lived, after only a single season in the desert, Weller signed as a free agent with the Minnesota Wild.
Not long into the 2009-10 season, Weller was part of a package traded to the Boston Bruins in exchange for Chuck Kobasew.
On March 3, 2010, the NHL trade deadline, Weller was on the move again, this time traded to the Florida Panthers as part of a deal that saw Boston acquire Dennis Seidenberg.