He would spend seven years in St. Louis playing at catcher, first base & in the outfield. He began the 2000 season as the Cardinal catcher but lost a lot of time due to a bout with Thyroid cancer. That same season he caught a September no hitter thrown by Bud Smith. In the Cards 2000 NL Central Division Champion season he played in 53 games with 5 HRs & 17 RBIs in 102 at bats although he only hit .225.
Post Season: In the NLCS against the New York Mets he got the start at catcher going 1-3 with an RBI hit against Al Leiter in the Mets 6-5 victory.
He had his best year in 2002 playing in 131 games batting .262 with 18 HRs 19 doubles 14 stolen bases & 66 RBIs as an outfielder. Marrero got to two more post seasons with St. Louis hitting a HR in the 2002 NLCS in Game #3 against Jay Witasak & the San Francisco Giants.
In December 2003 he was Traded along with J.D. Drew to the Atlanta Braves for Jason Marquis Adam Wainwright & Ray King. As a fourth outfielder with the Braves he batted a career best .320 with a .374 on base %, 10 HRs & 40 RBIs playing in 90 games. In 2005 he would play with both the Kansas City Royals & Baltimore Orioles becoming a free agent at the end of the year. For 2006 he signed with the Colorado Rockies playing in 30 games batting .217.
On June 9th he was traded to the New York Mets in exchange for Kaz Matsui. Marrero debuted on June 11th in Arizona coming into the game as a pinch hitter. He stayed in & played centerfield doubling in two runs in his next at bat as the Mets went on to a 15-2 victory. On June 22nd he hit a pinch hit HR at Fenway Park batting for Xavier Nady. In his next game he got a start in leftfield in the subway series hitting a solo HR off Randy Johnson in the Mets 8-3 win. He would get two more hits as a Met but his average fell to just .204 by August 8th.
Retirement: In 2011 he was named batting coach of the Billings Mustangs a minor league affiliate of the Cincinnati Reds. He is the uncle of minor leaguer Chris Marrero.