Collins graduated from Northwest High School in Justin, Texas. He began his college baseball career at Baylor University, playing for the Baylor Bears baseball team. After his freshman year, he transferred to Howard College, where he played for the Howard Hawks. He was named the 2011 National Junior College Athletic Association Division I Baseball Player of the Year award, after he led the NJCAA Division I with 19 home runs and finished second with a .488 batting average and 82 runs batted in (RBIs).
Following the 2011 season, Collins committed to transfer to Texas Christian University (TCU) to play for the TCU Horned Frogs.
Collins was drafted by the Detroit Tigers in the sixth round of the 2011 MLB draft. Collins signed with the Tigers, rather than transfer to TCU. Following the regular season, he played for the Sydney Blue Sox of the Australian Baseball League, and was named to the 2011 Australian Baseball League All-Star Game where he earned the game MVP award. After the 2013 season, the Tigers assigned him to the Arizona Fall League.
On March 29, 2014, the Detroit Tigers purchased Collins' contract from Double-A Erie, and added him to the 25-man roster. The Tigers intended for Collins to serve as a backup and platoon partner with Rajai Davis. He made his Major League debut March 31, 2014, as a pinch runner for Alex Avila in the bottom of the ninth and scored the winning run to end the game. After batting 2-for-14 in sporadic playing time, the Tigers optioned Collins to the Toledo Mud Hens of the Class AAA International League on April 18. On September 1, 2014, Collins was called up by the Tigers. Following being called up, Collins entered the game as a pinch hitter in the 9th inning of a game against the Cleveland Indians, where he hit his first career home run.
Collins saw more extensive major league playing time in 2015 after the Tigers traded away outfielder Yoenis Céspedes in late July. In 60 games, Collins hit .266 with four home runs and 25 RBIs.
On April 25, 2016, during a home game against the Oakland Athletics, Collins gave the Detroit crowd the finger after he lost a flyball in the lights and the home crowd began booing him. This play allowed Marcus Semien to advance to third base and put Jordan Zimmermann's scoreless streak on the line. Collins apologized after the game, saying that he was "embarrassed in himself" by his behavior. He was not suspended, but was optioned to the Toledo Mud Hens on April 27. Collins returned to Detroit on July 15 after Justin Upton was placed on the bereavement list. He remained with the Tigers following the return of Upton, as the team chose to option Steven Moya to AAA instead. He would finish 2016 with a .235 batting average and 4 home runs in 56 games.
On April 6, 2017, Collins hit his first home run of the season, a solo blast in the second inning against the Chicago White Sox. On May 17, Collins had the first multiple home run game of his career, slamming two homers in his first two at-bats against the Baltimore Orioles. He batted .200 on the season through May 28, including 5-for-61 (.082) in his last 20 games, and was designated for assignment.
Collins cleared waivers and returned to Toledo. Through the end of their regular season, he batted 288 with nine home runs and 46 RBIs in 74 games. Seven days later, on September 10, the Tigers promoted him to the major leagues.