One night after grounding out in a nine-pitch at-bat against Rodriguez, Stewart's single keyed a three-run burst in the ninth inning and sent the Pirates past Milwaukee 4-1, ending the Brewers' three-game winning streak.
"I saw quite a few pitches from him (Tuesday) night, so I think that helped going into the at-bat," Stewart said. "He stayed away from me (Tuesday) night, so it gave me a read on what he was going to try and do in that situation."
Rodriguez (1-1) threw two quick strikes to Stewart, but left a changeup high on the outside corner of the plate on his third pitch and the Pirates catcher belted it to center, allowing pinch-runner Clint Barmes to score from second with the go-ahead run.
"It was a big swing of the bat for us," Pittsburgh manager Clint Hurdle said.
Rodriguez had given up only one run in 21 innings in his first 21 games. But the Pirates tagged the Milwaukee closer for four consecutive hits to beat the Brewers for only the second time in nine games.
Rodriguez said he was having a trouble with all his pitches and left both his fastball and changeup high in the strike zone against the Pirates.
"Unfortunately, it wasn't my day," he said. "I didn't perform at the level I was expecting or everyone else was expecting. You just have to turn the page quick and be ready for the next day."
Milwaukee managed only six hits and went 0 for 7 with runners in scoring position minus Carlos Gomez. The star center fielder dropped his appeal Wednesday and began a three-game suspension for his part in a bench-clearing fracas at Pittsburgh on Easter Sunday.
"We didn't swing the bat that well," Milwaukee manager Ron Roenicke said.
Stewart, making only his eighth start of the season, then singled to center. The throw from Gomez' replacement, Elian Herrera, was wide of the plate, allowing pinch-runner Clint Barmes to score without a play and snap a 1-all tie.
Starling Marte, playing for the first time since exiting Saturday with tightness in his back, then hit a two-run double to the center-field wall.
Pittsburgh won for just the fifth time in 16 road games.
Pirates starter Francisco Liriano rebounded from two straight mediocre outings, but remained winless in nine starts. He received his fifth consecutive no-decision after allowing one run on four hits and a walk while striking out seven in six innings.
"I expect the best is yet to come from Frank," Hurdle said. "It's just what I believe. It's the time of the year for him when he normally makes his move."
Milwaukee starter Wily Peralta had another strong outing, giving one run on five hits and a walk while striking out four in seven innings. The right-hander received a no-decision but lowered his ERA to 2.05 in eight starts.
Herrera, Gomez's replacement, went 0 for 4 and grounded out to strand Khris Davis at third in a 1-all game to end the seventh.
Brewers LHP Tom Gorzelanny threw two scoreless innings in his first rehab start for Single-A Brevard County against Fort Myers in the Florida State League. He allowed a hit and a walk while striking out one while coming back from offseason surgery on his left shoulder. ... Trainers examined Liriano in the fifth inning, but the left-hander stayed in the game. He said he slipped on the mound but didn't suffer any injury.