"Kind of disappointing to end on this note, but I can always get better and look forward to next year," said Keuchel, who finished 3-8 with a 5.27 ERA.
The loss was No. 106 of the season for the Astros, tying their club record set last season, but they didn't go down without a fight.
Down to their final out in the ninth inning, the Astros clubbed three homers off reliever Livan Hernandez, who was in spring camp with Houston. Fernando Martinez and Brian Bogusevic hit two-run shots, and Tyler Greene hit a solo blast as the crowd booed Hernandez loudly.
Jose Veras got Brandon Barnes to fly out for the final out.
"It was nice they didn't quit," said Astros interim manager Tony DeFrancesco, whose team didn't have an extra-base hit in the first eight innings.
Keuchel went 0-2 in three starts against the Brewers this year, with both losses coming on the road. In those two starts at Miller Park, he allowed 15 hits and 14 runs in 6 1/3 innings.
"After the last game against St. Louis [when] he went seven innings, giving up no runs, we thought he was going to pitch like he did over there," DeFrancesco said. "He fell behind today and made some mistakes to some pretty good hitters. [Corey] Hart got him a couple of times today and that's a pretty potent offense over there. It showed why where they're at. Once you fall behind, he didn't have much left. He didn't have much velocity. Just one of those days for him."
Aramis Ramirez and Hart hit back-to-back homers to lead off the second, and Norichika Aoki added a two-run, two-out bloop single later in the inning that took about as much wind out of the Astros' sails as the homers. The Brewers led, 4-0.
"It was a curveball up," Keuchel said. "I got ahead of him, 0-1, with the curveball and should have just attacked him inside with two-seams and stuff. When I look back now, it's like 'Why the hell did I do that?' but you live, you learn."
Ryan Braun and Ramirez began the third with consecutive singles before Hart walloped a three-run homer to right field -- his seventh against the Astros this year and 30th for the season -- to give the Brewers a 7-0 lead. The three homers allowed in the game matched the total given up by Keuchel in his previous eight starts combined.
"I think the last four starts before this one, I was progressing well and understanding hitters' philosophy against me and my understanding of what I can do with the baseball in my hand," Keuchel said. "Today I just backtracked a little bit and didn't make the pitches inside."
Keuchel went 6-4 with a 3.90 ERA in 16 starts at Triple-A Oklahoma City to begin the season, with DeFrancesco at the helm. DeFrancesco said he's going to have to keep his sinker down and away, use his changeup more and get more bite on his breaking ball."
"He's learning at the Major League level, but to stay here, he's going to have to make some major adjustments," he said. "The inconsistency is what you see, and that's what we have to try to address. Hopefully he can make the adjustments. When he's on, he's a tough left-handed starter for this league."
Brewers starter Marco Estrada held the Astros to four hits through eight scoreless innings, striking out 11 batters to beat the Astros for the first time in his career.
"The beginning of the game, I know he threw up some zeroes, but he was in trouble every one of those innings," Brewers manager Ron Roenicke said. "The leadoff hitter was on [in innings] two, three, four, five, and then in the sixth, seventh and eighth, his command got way better. His fastball got better. Curveball got better. I'm glad he finished up that way, because I thought it was going to be a struggle to finish today."