Marrero began his professional career in 2012 with Single-A Lowell Spinners of the New York–Penn League, where he posted a.268/.358/.374 with 19 extra-base hits, 45 runs and 24 stolen bases in 64 games. Entering 2013, Marrero was ranked as the 11th-best prospect in the Red Sox' minor league system. He was invited to spring training, becoming the first Red Sox position player to attend spring training the season following the year he was drafted, since Scott Hatteberg in 1991 and 1992. He began the 2013 season with the Salem Red Sox and was promoted to the AA Portland Sea Dogs after hitting.256 over 85 games. Marrero began the 2014 season with Portland and, after hitting.291 over 68 games, he was promoted to the AAA Pawtucket Red Sox. He hit.210 over 50 games with Pawtucket. Following the 2014 season, Marrero was named the Red Sox Minor League Defensive Player of the Year.
Boston Red Sox
The Red Sox promoted Marrero to the major leagues on June 25, 2015. He made his major league debut against the Tampa Bay Rays on June 28 at second base after Mike Napoli was ejected in the second inning. Marrero hit his first major league home run off of Caleb Cotham of the New York Yankees on September 28, 2015. During the 2015 season, Marrero appeared in 25 games with the Red Sox, batting.226 with one home run and three RBIs. Marrero spent most of the 2016 season with Triple-A Pawtucket, batting.256 with six home runs and 29 RBIs in 102 games. He appeared in 13 major league games, batting.083 without a home run or RBI. Marrero took part in a four strike-out inning, which took place on July 18, 2017; pitcher Mike Bolsinger of the Toronto Blue Jays struck out Mitch Moreland, Jackie Bradley Jr., Christian Vázquez, and Marrero. On August 24, 2017, Marrero was optioned to Triple-A Pawtucket after the Red Sox acquired Rajai Davis from the Oakland Athletics. During the 2017 season, Marrero played in 71 games for the Red Sox, hitting four home runs with 27 RBIs and a.211 batting average. He appeared in one playoff game, starting at third base in Game 2 of the 2017 ALDS against the Houston Astros, striking out in both of his plate appearances before being lifted for a pinch hitter. In his three years with the Red Sox, Marrero appeared in a total of 109 regular season games, batting.208 with five home runs and 30 RBIs.
Arizona Diamondbacks
On March 24, 2018, the Red Sox traded Marrero to the Arizona Diamondbacks for a player to be named later or cash considerations; the Red Sox later received left-handed pitcher Josh Taylor to complete the trade. With the Diamondbacks, Marrero was involved in a rare occurrence on April 14—in a game against the Los Angeles Dodgers, he hit a ball over the left-center outfield fence with two men on base, but was ruled out for passing the runner at first base ; as a result, Marrero was credited with a single and two RBIs, rather than a home run and three RBIs. On August 7, 2018, Marrero was activated off the disabled list and immediately designated for assignment. He elected free agency on November 3, 2018.
Miami Marlins
On December 3, 2018, Marrero signed a minor league deal with the Miami Marlins. On August 7, 2019, the Marlins selected his contract. On August 16, Marrero was designated for assignment. He elected free agency on October 1.