Tomlin struck out the side in his last inning, continuing his strong bid for the fifth spot in Cleveland's rotation.
"I felt like I had a pretty good breaking ball today," Tomlin said. "I threw that quite a bit, which is something I needed to throw for a strike and to be able to put guys away with."
Indians manager Terry Francona also was impressed.
"I thought Josh pitched just the way he's advertised and the way he needs to pitch. He threw strikes, he kept the ball down, he holds runners," Francona said. "He basically doesn't beat himself."
Tomlin gave up two hits in the second inning, but was able to escape the threat.
"We're getting to that point where you want guys to work through jams and start to pitch a little bit fatigued and things like that, because they're getting their legs under them now and their arm strength," Francona said.
The Brewers scored two runs in the ninth inning against Travis Banwart. Garrett Cooper had an RBI single and scored on Hainley Statia's groundout.
Indians shortstop Asdrubal Cabrera started for the second day in a row. He had two hits and scored a run.
Brewers: Wily Peralta struggled with his control, walking the first two batters of the second inning, and then hitting Matt Carson with a pitch.
Peralta was charged with three runs and four hits in 3 1-3 innings, but he retired his last five batters.
"Little bit off in the first couple innings, and was able to make adjustments and finish it strong," Peralta said.
The right-hander walked two and struck out two. Prior to Sunday, he had thrown five scoreless innings this spring.
Indians: Francona said he thinks Ryan Raburn (bruised left knee) will play on Monday. He was removed from Friday's game against the Cubs after he crashed into the right-field wall while chasing a home run.
A FAMILIAR FACE
Mark Reynolds got the start at third base for the Brewers. He spent much of 2013 with the Indians, hitting as high as .302 in early May with nine home runs before struggling mightily and eventually getting released in August with a .215 average and 123 strikeouts in 335 at-bats.
He signed a minor league deal with Milwaukee in January that included an invitation to spring training. He went 1 for 3 with a strikeout on Sunday.
LOST IN THE SUN
The Arizona sun can make life difficult for outfielders. It was Carlos Gomez's turn on Sunday.
The Gold Glove center fielder had trouble locating Mike Aviles' deep fly ball. Racing backward, Gomez had the ball fall into his glove right as he was falling down.
IT'S SPRING TRAINING, BUT.
The Indians have not lost in ten straight Cactus League games (nine wins and one tie).