Zach Davies allowed three hits over 6 1/3 innings to win for the first time in four starts this season, and Eric Thames hit a two-run homer.
Yelich, acquired from the Miami Marlins during the offseason, played for the first time since April 4 after recovering from a strained right oblique. Alex Blandino hit a one-out fly in the second to short left-center, and Perez, Yelich and shortstop Orlando Arcia all converged on the ball. Perez cut in front of the sliding Yelich as the ball glanced off his glove 243 feet from the plate.
Yelich had his glove in position for a backhand catch, and the ball glanced off him and popped into the air, allowing the 2014 NL Gold Glove winner to snag it as he regained his feet. Yelich, who was activated Tuesday but did not play, went 1 for 2 with a strikeout and a pair of walks.
Davies (1-2) struck out two, walked two and hit a batter, lowering his ERA from 6.75 to 4.84. He left after second baseman Jonathan Villar muffed a one-out roller from Billy Hamilton, one of three errors by the Brewers.
Dan Jennings relieved with runners at the corners and got Jesse Winker to ground into a double play. Jacob Barnes finished with two hitless innings for his second save as the Brewers won consecutive home games for the first time this season.
Thames homered on a slider from Tyler Mahle (1-3) in the third inning, his team-leading seventh home run and 12th against the Reds in two seasons. Thames hit 10 home runs last season against the Reds, the most by any NL player against an opponent.
Mahle, the only rookie to begin this season in the Reds' starting rotation, gave up seven hits and four walks — one intentional — in five innings. He walked Thames intentionally with two outs in the fourth to load the bases, then struck out Yelich.