Thornburg (3-1) struck out four and walked two as he reached six innings for the sixth straight start since being recalled from Triple A Nashville on June 29. He has allowed five earned runs in 36 innings as a starter and has also made 11 relief appearances for the Brewers, posting a 1.96 ERA. At Nashville, he was 0-9 with a 5.79 ERA in 15 starts.
"He has been good in relief, he's been really good as a starter," Brewers manager Ron Roenicke said. "It's hard to explain. I know it's an excuse, but I heard he had the worst luck you could have at Triple-A, but I wasn't there.
"He's confident. He gets a little wild at times and then comes back and makes great pitches. He has three really good pitches: a really good fastball, a good curveball and a great change-up. He can mix in the two off-speed pitches, depending on which is going well that day, and when you can do that and you have a lot of life on your fastball, you'll pitch like he did today."
Thornburg put most of the blame for his ineffectiveness at Nashville on himself.
"I was a little upset being in Triple-A," said Thornburg, who made three starts in eight appearances last season with the Brewers. "Honestly I was kicking myself a little bit too much. Doing things I wouldn't necessarily do. Up here I stuck with my three good pitches and I am really trying to improve those."
Halton's homer capped a five-run first inning off Chris Rusin (2-5). Jean Segura walked with one out and advanced to second on Jonathan Lucroy's single. Aramis Ramirez singled in Segura. After Carlos Gomez flied out, Khris Davis walked to load the bases. Halton then drove a 3-2 pitch 370 feet over the right-field wall for his fourth home run.
"It is just one of things," said Halton, who also hit a three-run game-ending homer Sunday to give the Brewers a 6-5 victory over the Reds. "In a couple months I will sit back and look (and say) that was a crazy week. It is unbelievable to get an opportunity to be in those situations let alone come through in them."
Davis led off the fourth inning with his 10th home run to put the Brewers up 6-0.
Milwaukee added a run in the fifth when reliever Alberto Cabrera hit Norichika Aoki, Ramirez walked and Gomez followed with an RBI double. Davis walked to load the bases again for Halton, but he struck out to end the inning.
Ryan Sweeney was the only Cubs runner to reach second base with a double in the seventh off Nelson. The Cubs have lost seven of their last eight and are just 15-34 since July 29.
"When I needed to make a pitch, I left it up and they hit it out of the yard," said Rusin. "Those are the games you've just got to learn from. Just keep the ball down is what I keep telling myself. But that first inning really hurt the team. Just took the life out of us. As a starting pitcher, you don't want to do that to a club."
Brewers SS Segura left the game after the first inning with what the team announced as a strained right hamstring. He is listed as day-to-day. "It's not bad but saying that, we'll see how many days it's going to be," Roenicke said. "If he walks in here tomorrow and hardly feels anything, then we have a chance to get him back out there." ... The Brewers improved to 13-5 this season against the Cubs. Since 2011, they hold a 36-15 advantage.