Kalish got his first hit since Sept. 11, 2012, when he rapped an RBI triple in the first inning Sunday in the Chicago Cubs' 8-3 victory over the Philadelphia Phillies. He also had a two-run double and drew two walks as the Cubs avoided a sweep.
Kalish missed all of last season after he underwent neck and shoulder surgeries.
"I've enjoyed every single day," he said. "I'm trying to live my life like every day could be your last."
Kalish made his second start for the Cubs in his first trip to the majors since he played for the Boston Red Sox in 2012.
"Every day I just come in and I'm ready for whatever's thrown my way, especially with everything I've been through," he said. "I just want to give it my all when I get the chance."
Carlos Villanueva (1-2) allowed a run in five innings in his first start and third outing of the season for Chicago.
A.J. Burnett (0-1), who signed a one-year, $16 million contract with the Phillies after he spent the last two seasons with the Pittsburgh Pirates, allowed eight runs, four earned, in 5 2/3 innings. He struck out three but walked six.
"I just didn't get it done," Burnett said. "I was pitching behind. I missed first pitches. The key today was throwing strikes. That was embarrassing. I don't care who you are, that is unacceptable."
The Cubs scored four runs in the first and sixth innings. Their offense broke out after they scored eight runs and were 4 for 40 with runners in scoring position in their previous five games.
"They've strung together a lot of good at-bats over the last five or six days. We just don't have a lot to show for it," Cubs manager Rick Renteria said. "Today, we happened to have some balls find holes, and we took advantage of it."
The Phillies scored a run on Chase Utley's groundout in the fifth to cut the lead to 4-1. Manager Ryne Sandberg challenged the call that Utley was out at first, but the review confirmed it. Ryan Howard lined into an inning-ending double play.
"It was a bang-bang play," Sandberg said about the challenge. "It's the fifth inning. We need baserunners. It was worth a shot."
The Phillies went 1 for 15 with runners in scoring position. They scored two runs off reliever Jose Veras in the ninth.
Villanueva made his first start after he pitched in relief in two extra-inning games against the Pirates. He allowed game-winning hits in both games.
"I wasn't happy when that happened," Villanueva said. "I feel like I've grown a lot in my years here. You tell me that would have happened to me 5-6 years ago -- I don't know how I would have handled it. I take the positive out of it. Now I have a chance to contribute."
SS Starlin Castro moved to sixth in the Cubs lineup after hitting second or third in previous games and had an RBI double. Castro was 9-for-22 in his career against Burnett entering Sunday. Renteria said he might move Castro around in the lineup. Castro said he agreed with the move. ... After an off day Monday, the Cubs begin a three-game home series against the Pirates on Tuesday. RHP Edwin Jackson (0-0, 1.69) will start against RHP Charlie Morton (0-0, 0.00).