Seiya Suzuki homered and scored two runs, while Ian Happ had a triple and drove in a run. Daniel Palencia (3-0) got two outs in the eighth inning and was credited with the win. Mark Leiter Jr. gave up a run in the ninth inning but still recorded his fourth save.
Cubs starter Javier Assad allowed two runs and five hits in 5 1/3 innings. He walked two and struck out four.
Spencer Torkelson had four hits, including a solo homer, and scored three runs for Detroit. Kerry Carpenter supplied three hits, also with a solo homer, and Javier Baez added a two-run double against his former team.
Detroit starter Alex Faedo gave up four runs, two earned, and three hits in six innings. He also walked two and struck out four.
The Cubs scored three runs in the second inning with the aid of an error and a wild pitch.
Suzuki made it 4-0 in the fourth with his 13th homer, a one-out shot to left-center.
The Tigers broke through in the sixth. Torkelson led off the inning by smashing his 23rd homer over the left field wall. Carpenter followed with his 19th homer to right.
Chicago added to its lead in the eighth. Happ drilled a two-out triple off Andrew Vasquez in the eighth, and Cody Bellinger brought him home with a single to right.
The Cubs' lead evaporated in the bottom of the inning. Detroit loaded the bases against Michael Fulmer on a Torkelson double, Carpenter single and Matt Vierling walk. Baez drove in two runs with a bloop double to right, and Zach McKinstry tied it with a bloop single to center.
Chicago quickly regained the advantage against Beau Brieske (0-1). Yan Gomes led off with a double and Madrigal followed with a run-scoring double down the left field line. Mike Tauchman reached on an infield single. Madrigal later scored on Happ's fielder's choice grounder.
Vierling's two-out single in the ninth scored Torkelson to cut Chicago's lead to one. Parker Meadows, who made his major league debut on Monday, then flied out to end the game. He went 1-for-5.
—Field Level Media