"I didn't pay attention to what they were doing, we knew it was a slim chance," Kennedy said. "Whether you're fighting for a playoff spot or not, I know finishing strong is really important."
Arizona is six games back of the second National League Wild Card spot, but only five games remain on the regular-season schedule.
"We're all disappointed," D-backs manager Kirk Gibson said. "But we're going to keep trying to win as many games as we can, that's the way you're supposed to do it. There are people here watching us, you have to have a push."
As for Friday, Kennedy didn't have his best stuff, but battled to turn in 5 2/3 innings of three-run ball. The right-hander only gave up four hits, but walked six batters.
"Ian busted his tail," Gibson said. "He's gassed. He threw his heart out. You have to appreciate that. He sets the tone for you. We rewarded him with a good effort behind him and a win."
In earning a win in his fourth consecutive decision, the 27-year-old became the fourth pitcher in franchise history to record back-to-back 15-win seasons. The D-backs' ace joined Randy Johnson, Curt Schilling and Brandon Webb.
"To be in that company, it means a lot," Kennedy said. "Those are three great pitchers. It's an honor to be mentioned in the same breath and to be in that history of the Diamondbacks. Fifteen wins anywhere is an accomplishment."
Friday also pushed Kennedy over the 200-inning mark for the year for the second straight season.
The right-hander ran into trouble in the first inning, loading the bases with two walks and an infield hit, but got out of the jam unscathed by striking out Luis Valbuena to end the frame.
In the bottom of the inning, back-to-back doubles by Adam Eaton and A.J. Pollock gave the D-backs an early 1-0 lead before Cody Ransom launched a solo shot to left field in the fourth to double the advantage.
That score stood until the fifth, when Dave Sappelt tied the game with a two-out, two-run homer off Kennedy, the career-high 28th long ball the right-hander has given up this season.
The D-backs answered right back, however, regaining the lead in their half of the frame on an RBI double off the bat of Aaron Hill. The hit gave the 30-year-old 79 RBIs for the year, moving him into second place in franchise history for RBIs in a single season by a second baseman, behind Jay Bell's 110 in 1999.
Later in the inning, Upton smacked his two-run homer into the left-field bleachers to give the D-backs some breathing room again, 5-2. The right fielder now has five home runs, 11 RBIs and 19 runs scored this month.
"I'm swinging the bat well, you play hard until the end of the season," Upton said. "We strung together some hits when we needed to, and plated some runs. It was an all-around good game."
After Kennedy surrendered his third run of the game in the sixth with two outs, Gibson lifted his ace in favor of Matt Albers, who recorded the final out of the frame on a groundout.
The Cubs again loaded the bases in the seventh, but Matt Lindstrom struck out Valbuena to end the inning.
The D-backs added three runs in the eighth, aided by a Darwin Barney throwing error that allowed Hill to score on the play. The miscue cost the Cubs shortstop sole possession of the all-time Major League record (141 games) for consecutive errorless games at the position.
"That's probably the sickest feeling that I think I've had in a game besides a couple playoff losses, and you know you're going home," Cubs manager Dale Sveum said. "It's, wow, you can't believe it. Some things, you can't understand in this world, and in life, period."
After the Arizona lineup provided the extra support, J.J. Putz shut the door on the game in the ninth inning with a clean frame.
"The offense tacked on a couple more runs and that really helps us," Kennedy said. "We just try to pick each other up and battle through it together."