CHICAGO -- Cubs catcher Geovany Soto underwent surgery on Friday to repair a tear in the meniscus in his left knee. He was expected to be sidelined at least three weeks.

Soto was scratched from Thursday's lineup against the Phillies because of inflammation in his knee.

Steve Clevenger, the Cubs' backup catcher, is already on the disabled list with a rib-cage injury and was to start taking batting practice on Saturday or Sunday. He was ahead of schedule in his rehab, but wasn't expected to be ready until next weekend.

Welington Castillo, who opened the year at Triple-A Iowa, will take over for now. On Thursday, he went 2-for-4, hitting a solo homer and a three-run double for a career-high four RBIs.

Soto said he had some discomfort when he woke up Thursday. He was hitting .161 with three home runs and six RBIs this season and has started 27 of the Cubs' 37 games. Although his batting average is low, he's shown some improvement. He hit .127 in April and was batting .211 in May.

Infielder Darwin Barney was the emergency backup catcher on Friday for the Cubs' Interleague series against the White Sox. However, the Cubs made a roster move prior to the game and selected the contract of catcher Blake Lalli from Triple-A Iowa. Pitcher Chris Volstad was optioned to Iowa to make room on the 25-man roster.

Lalli made his Major League debut on Friday when he entered the game as a defensive replacement in the ninth.