"What he's doing is really hard to do," said Counsell, the Brewers manager. "Guys just don't show up and do this without being able to do a lot more and be consistent and have very productive seasons. And he's on his way to that."
Thames' start -- he is batting .405 with 15 runs and 12 RBIs -- has even overshadowed that of longtime Brewers star Ryan Braun, who also went 3-for-4 with a homer and three RBIs.
"It's unique that Ryan is not getting the attention after a five-home run start after the first couple weeks of the season, but he's happy with it, I guarantee it," Counsell said.
The Brewers (8-6) went deep for the ninth game in a row as a team, getting long balls from Braun, Thames and Jett Bandy.
Milwaukee increased its homer total to 25 through 14 games, breaking a tie with the New York Mets for the major league lead.
Brewers starter Chase Anderson (2-0) worked five innings and allowed three runs (two earned) on seven hits. He struck out five and walked one.
Cubs starter John Lackey (1-2) pitched six innings, allowing four runs on seven hits. He struck out two, walked one and gave up the three home runs.
"The (first) pitch I threw to Thames was a pretty good pitch, he's hot right now and got a double," Lackey said. "Even the homer he hit the other way, you don't see that happen very often here."
All the home runs were to left field and into a stiff 8 mph wind.
"It wasn't a good day to hit the ball in the air and I think we hit three balls really well," Counsell said.
The loss was the fourth straight for Chicago (6-7) while the Brewers won their second straight and sixth in seven games.
Braun completed his day with an eighth-inning double off the wall off Cubs reliever Mike Montgomery, driving in Thames and extending the lead to 5-3. Braun then stole third and scored after a snap throw from catcher Willson Contreras sailed into left field.
Thames also scored three runs, and Bandy also had three hits.
Reliever Neftali Feliz, the fifth Milwaukee pitcher, allowed two baserunners in the ninth but escaped without allowing a run to earn his fifth save.
The Brewers claimed a 2-0 lead in the opening inning off Lackey.
Thames doubled into the right field corner with one out and Braun followed with a two-run home run -- his fifth of the year.
The Cubs got one back in the bottom of the first as Ben Zobrist hit a two-out single into short center, scoring Kyle Schwarber from second. Schwarber had reached base with a lead-off bunt and moved to second on a passed ball.
Bandy made it 3-1 in the second with a solo home run to left on an 0-1 pitch for his second homer of the season. But Cubs center fielder Albert Almora Jr. tied the game with a one-out double to the left field corner that brought home Jason Heyward and Miguel Montero.
Thames slugged his NL-leading seventh homer of the season -- a solo shot to left in the third -- for a 4-3 Brewers lead. He tied the Milwaukee record held by Jeromy Burnitz (1997) with home runs in five consecutive games.
NOTES: Brewers 1B Eric Thames has hit safely in all 11 of his starts. ... In 140 games, Milwaukee OF Ryan Braun is a .338 hitter (180-for-533) with 31 home runs against the Cubs. ... The Brewers send RHP Jimmy Nelson (1-0, 1.38 ERA) against Cubs LHP Brett Anderson (1-0, .084 ERA) in Tuesday's middle game of the series. ... Former Cubs Jason Hammel, Jorge Soler and Travis Wood were presented with 2016 World Series rings prior to Monday's game. All three are currently with the Kansas City Royals and had an off day. ... The Cubs activated RHP Carl Edwards Jr. off the bereavement list while they placing INF Tommy La Stella on the same list. La Stella was batting 1-for-4 with an RBI double and two walks over six games.