Johnson had three hits, including the home run that broke open a close game, and the Cubs routed the Arizona Diamondbacks 10-6 on Wednesday night.
Lilly (10-6) allowed six hits in six innings and had the RBI single and a stolen base to help Chicago win for the second time in six games since the All-Star break and remain one game in front of Milwaukee in the NL Central.
"Obviously the big blow was the grand slam but Lilly did his part, a little base hit," Piniella said.
Lilly, who came into the game hitting .189, tied the game with a run-scoring single during a three-run fifth that gave the Cubs a 4-2 lead. Newly activated Alfonso Soriano and Ryan Theriot drove in runs with groundouts.
"I mean, the hit -- I don't know how to explain that one," Lilly said. "That one kind of worked out. I didn't hit it hard or anything, caught a break there."
Lilly later stole third and scored on Theriot's grounder.
"It felt good on the bases," Lilly said. "If we were going to have an opportunity, I felt like I needed to take advantage of any opportunity there was to take a base or whatever."
Arizona cut the lead to 4-3 on Conor Jackson's run-scoring triple in the fifth, one of his three hits. Chris Young had three doubles.
Doug Davis (3-4) scattered five hits over seven innings, striking out six.
"I couldn't stay away from the big inning tonight," Davis said. "No outs, second and third, Lilly comes up with a good hit, not only that (but) when he gets on second, he steals third. That was a huge turning point."
Lilly threw 115 pitches over six innings, the most he has thrown in a game all season, allowing six hits and striking out six.
"I guess my stuff was pretty good," Lilly said. "I was very erratic, I was behind in the count a lot tonight, I don't know how many guys I walked but it was a lot. So more than not having good stuff, I was just falling behind, not commanding my fast ball."
After Jackson's triple in the fifth, Reynolds struck out and Young hit a grounder to third baseman Aramis Ramirez, who threw home, getting Jackson caught in a rundown. Young went to second on the play but was picked off by Lilly trying to steal third.
"Early on, for the first few innings, we had some opportunities we didn't cash in on," Arizona manager Bob Melvin said. "But we had been swinging the bats better, we had been better in those situations. There were a couple of man-on-thirds with less than two outs that we didn't get in and those end up costing you as the game goes on a little bit."
Ramirez ended an 0-for-26 slump with an eighth-inning single. Chicago scored twice off Arizona reliever Micah Owings, who was lifted after surrendering a bases-loaded walk to DeRosa. But Johnson followed with his fourth home run off Leo Rosales to give Chicago a 10-3 lead.
Chris Snyder hit a three-run homer in the eighth for Arizona, which remained a game in front of Los Angeles in the NL West.
The Cubs activated Soriano before the game and he hit in the leadoff spot. Soriano, selected to the All-Star game seven years in a row, had been out since fracturing a finger June 11 against Atlanta. He went 1-for-5, including a double after the Cubs had scored six runs in the eighth.
- Diamondbacks 2B Orlando Hudson was not in the lineup Wednesday after getting hit on the ankle with a pitch Tuesday night. Hudson said after the game he had only a bad bruise and should be back in the lineup this weekend at San Francisco.
- Lilly became the third Chicago pitcher to get into double digits in victories. The Cubs are the only team in the majors with three 10-game winners.