Hatfield played for the Utah Utes of the University of Utah from 2013 to 2016. He began his college career as a receiver. He played in 11 games in 2013, catching 4 passes for 84 yards while also returning seven kick returns for 116 yards and recording 7 solo special teams tackles. After a season-ending injury to cornerback Reginald Porter in August 2014, Hatfield began to see time at cornerback. Hatfield played the first game of the 2014 season as a receiver but converted to cornerback full-time by the second game. He played in 13 games, starting 10, recording 32 solo tackles, 6 tackle assists, 9 pass breakups and 1 interception which was also returned for a touchdown. In July 2015, he was suspended indefinitely and later dismissed from the football team after being charged with robbery. He was arrested for aggravated robbery in July 2015 when he allegedly held a man at knifepoint for $180. As a result, head coachKyle Whittingham dismissed Hatfield from the program for one whole month. The charges were later dropped. In August, he was charged with misdemeanor assault stemming from a fight at a party. After missing the first game of the 2015 season, Hatfield was reinstated by the team. He played in 12 games, starting 11, in 2015, recording 27 solo tackles, 6 tackle assists, 2 pass breakups and 4 interceptions, including 1 that was returned for a touchdown. He missed the first three games of the 2016 season due to injury. He then played in 9 games, starting 6, totaling 24 solo tackles, 6 tackle assists, 4 pass breakups and 1 interception. Hatfield was a team captain in 2016. He did not play in the 2016 Foster Farms Bowl due to an unspecified violation of team rules. Head coach Kyle Whittingham said the violation was not an academic or legal issue and that it "would've merited a one-game suspension in the regular season".
Hatfield was rated the 77th best cornerback in the 2017 NFL Draft by NFLDraftScout.com. He signed with the Los Angeles Rams as an undrafted free agent on May 16, 2017. He played in 11 games after making the Rams final roster, but was waived on December 9, 2017 and was re-signed to the practice squad two days later. He signed a reserve/future contract with the Rams on January 8, 2018. On September 1, 2018, Hatfield was waived by the Rams and was signed to the practice squad the next day. He was promoted to the active roster on September 26, 2018. He was placed on injured reserve on December 11, 2018 after suffering an ankle injury in Week 14. Without Hatfield, the Rams reached Super Bowl LIII where they lost 13-3 to the New England Patriots. Hatfield was waived/injured during final roster cuts on August 31, 2019, and reverted to the team's injured reserve list the next day. He was waived from injured reserve with an injury settlement on September 10.
On December 18, 2019, Hatfield was signed to the Carolina Panthers practice squad. He signed a reserve/future contract with the Panthers on December 30, 2019. He was waived on April 30, 2020.