In 2006, Craig Nall signed as an unrestricted free agent with the Buffalo Bills, where he competed for the starting quarterback position until a hamstring injury suffered on the second day of practice ended his involvement in the competition. In 2007, he fell on the team's depth chart behind J. P. Losman and Trent Edwards. At the end of pre-season, he was cut from the team's final roster. Early into the regular season he was re-signed by the Bills but was released shortly thereafter.
First stint with Texans
On October 29, 2007, Nall was signed by the Houston Texans as insurance when starter Matt Schaub was hurt against San Diego. He was released by the Texans on November 21, 2007.
Second stint with Packers
He signed a one-year deal with the Packers on December 1, 2007, after they released Marviel Underwood. He became a free agent in the 2008 offseason.