On June 9, 2006, while playing for the AAA affiliate of the Colorado Rockies, Marrero was traded to the New York Mets for infielder Kaz Matsui. On July 2, 2006, Marrero saw his first Major League action at third base, playing two innings there for the Mets. On August 8, 2006, he was designated for assignment. On November 28, 2006, Marrero was signed to a minor league deal by the St. Louis Cardinals. On May 21, 2007, Marrero was released by the Memphis Redbirds, the Cardinals' Triple-A affiliate, after just one game.