CHICAGO -- Ryan Theriot is hoping teammate Alfonso Soriano can pick up a struggling offense.
The Cubs won for the fourth time in 11 games and improved to 3-8 this season against the last-place Pirates.
"Sori is one of those players that when he gets going he can carry a team. I've seen him do it in the past," Theriot said. "We're just going to have to stay out of his way and let him do his thing."
After ending its 17-game road losing streak on Monday night, the Pirates' offense came on a solo homer by Ryan Doumit in the fifth inning. Overall, the Pirates have lost 19 of their last 22 games and are 25 games below .500 (26-51). Pittsburgh has only scored five runs in its last four games.
With unseasonably cool weather and the wind blowing in, Lilly took advantage by getting a number of fly outs. He allowed one run and six hits, struck out five and walked one.
Lilly pitched out of a jam in the seventh inning. With runners on second and third and one out, he got Ronny Cedeno to pop out on the first pitch and struck out pinch-hitter Ryan Church.
"We couldn't quite get that big hit in the seventh inning. We had a really good chance and let that one slip away," Pirates manager John Russell said.
The Cubs have scored 13 runs in Lilly's last eight starts.
"I know they're working at it," Lilly said. "I'm sure they're frustrated. It's one of those things when you're going through that sometimes the less you talk about it the better and the more just try to concentrate on adjustments you're better off, where it could escalate in something more mental than is should be."
Cubs reliever Sean Marshall pitched a scoreless eighth and Carlos Marmol regained his form for a perfect ninth for his 14th save in 17 opportunities. Marmol allowed the go-ahead RBI single in Monday's loss and was tagged for three runs in Sunday's win over the White Sox.
Pittsburgh starter Jeff Karstens (2-3) allowed three runs, two earned, and seven hits in six innings. He struck out two and walked one.
Koyie Hill doubled with one out in the second and moved to third on Doumit's passed ball. Starlin Castro then lifted a fly ball to left field and Hill just beat Jose Tabata's throw standing up.
With two outs in the fourth inning, Soriano homered to left on the first pitch.
"The home runs are going to come, but the situation with two outs, that can't happen," Karstens said. "I get two quick outs and then Soriano comes up. The first one I was trying to throw a first-pitch strike and he hit it out. And the next one was just a bad location."
Doumit led off the fifth with his seventh homer of the season, on a 3-2 pitch.
Soriano gave Lilly an insurance run in the sixth inning with a two-out home run. It was his 13th of the season and second time he's homered twice in a game this year.
"I just have confidence in my hands and just wait for the ball," Soriano said. "When I have confidence in my hands I just let the ball come to me, sometimes I don't do that, now I'm comfortable, and I believe in my hands and try to hit it hard and see what happens."
Pirates INFs Bobby Crosby and Neil Walker didn't play because of concussion-like symptoms. Both are listed day-to-day. ... The Cubs placed LHP John Grabow on the 15-day DL with a sprained left knee and placed RHP Carlos Zambrano on the restricted list. Relievers James Russell and Jeff Stevens were called up from Triple-A Iowa to fill the roster spots. ... Soriano hit two home runs against Arizona on May 2.