Marrero suffered what the team called a severely sprained ankle avoiding a collision with centerfielder Jim Edmonds in the fourth inning of Sunday's game against the Chicago Cubs.
An MRI Monday showed significant ligament damage between Marrero's right ankle and shin. Dr. George Paletta performed the surgery, which included using pins to mend the ligament.
"We didn't think it was going to be this bad, to be honest," St. Louis General Manager Walt Jocketty told the St. Louis Post-Dispatch. "It's going to be hard to replace Eli's versatility."
Marrero, the Cardinals' fourth outfielder and backup catcher, was placed on the 15-day disabled list. He is hitting .227 with two homers and 15 RBI in 24 games.
St. Louis made a host of roster moves Tuesday.
The Cardinals recalled outfielder Kerry Robinson and purchased the contract of catcher Chris Widger from Triple-A Memphis of the Pacific Coast League. They also transferred catcher Joe Girardi from the 15-day to the 60-day disabled list, and optioned lefthander Kevin Ohme to Memphis.
Girardi has yet to play this season because of a herniated disc that threatened his spinal cord in spring training. The paper said treatment has alleviated the condition, but he is still weeks from a possible return.
He was examined last weekend by a former Cubs team doctor, who corroborated the Cardinals' finding that Girardi's condition has eased. The club might send him to Jupiter, Fla., on a rehab assignment when it leaves next Tuesday for a six-game trip.
"It's a matter of what he can tolerate in terms of doing anything baseball-related," Jocketty said. "It's still going to be a while."
Widger was released by the New York Yankees last month.