In 2015, Hill was signed by the Buffalo Bills as an undrafted free agent. In his first four preseason games there, he led his team in rushing attempts and was second on his team in rushing yards (92 yards). He was waived during final roster cuts.
On February 2, 2016, Hill signed a reserve/future contract with the Cincinnati Bengals. During the preseason, he rushed for a total of 18 yards. On September 3, 2016, he was waived by the team.
On September 5, 2016, Hill was signed to the Jacksonville Jaguars' practice squad. He was promoted to the Jaguars' active roster on December 10, 2016.
On May 1, 2017, Hill was released by the Jaguars.
On August 12, 2017, Hill signed with the Minnesota Vikings. He was waived on September 2, 2017 and was signed to the Vikings' practice squad the next day. He was released on November 7, 2017.
On November 20, 2017, Hill was signed to the Arizona Cardinals' practice squad. He was promoted to the active roster on November 28, 2017. On December 16, 2017, Hill was waived by the Cardinals, but was re-signed three days later. He was released by the Cardinals on May 10, 2018.