Powell joined the Buffalo Bills as an undrafted free agent in 2012 partway through the season after releasing Brian Moorman. He was released on October 4, 2013, after struggling in a Thursday Night Football game against the Cleveland Browns, with Moorman being brought back in to replace him. Powell played 18 career games with Buffalo, averaging 44.7 gross yards per kick over 100 kicks (38.3-yard net average per kick) with 33 landing inside the 20-yard line.