Greene, who was activated from the DL on June 18 after missing three weeks to seek treatment for his condition, was 0-for-16 in his last 16 at-bats. He struck out twice and committed an error at third base on Sunday against the Twins and had to be removed in the seventh inning.
"It was a move that we had to make to get him away from it again," manager Tony La Russa said prior to the start of a four-game series with the San Francisco Giants at Busch Stadium. "He knows we're doing what's in his best interest."
Greene hit a home run in each of the three games in Kansas City last weekend but fell into a slump when the team went to New York and never recovered. He is hitting just .200 with five home runs and 19 RBIs on the season.
The open roster spot was given to pitcher Clayton Mortensen, who becomes the Major League-leading 14th rookie to play for the Cardinals this year. When he appears in a game, he will be the eighth Cardinals player to make his Major League debut.
The righty was scheduled to pitch for Triple-A Memphis, but instead made his way to St. Louis to join the Cardinals. Mortensen was 7-4 with a 4.24 ERA in 14 starts for Memphis.
"We wanted to go to 13 pitchers and it's a good experience for Mortensen," La Russa said. "I always like for a young guy with talent to get his feet wet in the big leagues."
Mortensen, who will wear uniform number 54, took the locker previously used by reliever Chris Perez, who was traded to the Cleveland Indians on Saturday night for Mark DeRosa.
B.J. Rains is an associate reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.