The left-hander matched his season best with eight sharp innings and took out St. Louis Cardinals catcher Yadier Molina in a collision at home in the Cubs' 4-3 victory, only their second win in nine games.
Lilly said he had not intended to injure Molina, who left the game three innings after taking a knee to the left thigh on a tag play at the plate.
"First of all, I hope he's not hurt," Lilly said. "It's not something I was trying to do and it's almost more dangerous if I slide and my only other option is to stand there and let him tag me. At that point in the game, it's useful.
"I don't know if I'm going to go eight innings and not give up another run so I feel like we have to do what we have to do to score more runs."
Molina left the game after the thigh tightened on him and expects to miss a couple of games. He had not been expecting a collision, given the pitcher was running.
"It was a little like trust," Molina said. "It was a strong play, it was a clean play. He came at me hard."
The Cubs capitalized on shaky fielding by injured Troy Glaus' replacement to score all their runs in the second. Backup third baseman Felipe Lopez had a fielding error and throwing error on consecutive at-bats leading to three unearned runs off Braden Looper.
"Just a tough inning," Cardinals manager Tony La Russa said. "It's just part of baseball."
Chicago held its 4½-game lead in the NL Central over Milwaukee and won for the 15th time in its last 19 road games.
"We came out with a lot of intensity and we've just got to maintain it for nine innings," Piniella said. "I guess the best way to do that is to get hits with men on base.
"It's been a little bit of a struggle but we came out with four runs and our pitching made it hold up."
The Cubs improved the league's best record to 87-58. St. Louis dropped 4½ games behind Milwaukee for the wild card and fell to fourth place in the division for the first time this season.
Wood had two losses and a blown save in his previous two outings and has surrendered seven runs in 3 1/3 innings in his last three outings.
Lilly (14-9) had a strong bounceback after going only two innings in his last outing on Saturday at Cincinnati. He allowed a run in a shaky first but nothing the last seven innings while striking out five and walking none, and has won six of his last seven road decisions.
Lilly matched his longest outing of the season and is 5-2 for his career against the Cardinals.
Molina's throw was on time to third on Lilly's sacrifice try but Lopez straddled the bag without making contact for an error, then tried to tag him. Lopez then made a diving stop on Alfonso Soriano's chopper, picked up the ball after it popped out of his glove, and bounced a wild throw to second that let two runs score.
"I was just trying to be aggressive and trying to get a double play and didn't get a good grip on the ball," Lopez said.
Aramis Ramirez added an RBI single in the inning.
Looper (12-12) threw 46 pitches in the second but settled down after that in a five-inning appearance. Only one of the four runs was earned.
Albert Pujols recorded his 99th RBI with a groundout in the first. He has eight RBI in the last four games and needs one more to join Al Simmons and Ted Williams as the only players in major league history to get 100 RBI in their first eight seasons.
Pujols missed a chance for another RBI on a two-out single to left in the third. Soriano easily threw out Cesar Izturis at the plate, and Pujols flung his helmet several yards after the play.
- Cardinals RHP Josh Kinney made his first appearance since Game 4 of the 2006 World Series, needing only six pitches to retire the side in order in the seventh. He's been out since undergoing reconstructive elbow surgery in March 2007.
- Soriano was 2-for-3 against Looper after entering 1-for-11.
- Izturis is 7-for-15 against Lilly after singling twice.
- Pujols has 52 multihit game but trails the Braves' Chipper Jones by one point in the NL batting race, Jones at .363 and Pujols at .362.