Winker went 3 for 5 with two RBIs and two runs scored in the 4-2 win Thursday at Busch Stadium in St. Louis. Winker's .348 batting average this season is nearly 50 percentage points higher than his career-best .299 average in 2018.
The Reds outfielder has had at least three hits in seven games this season, tied for the most in the National League. Winker is on track for his first All-Star appearance.
His latest homer gave the Reds the go-ahead runs in Thursday's triumph.
"I was hunting for it," Winker told Bally Sports Ohio & Great Lakes. "I wanted a strike curveball and wanted to put a good swing on it. It got up and got out."
Winker singled in his first at-bat of the game. Nick Castellanos followed with another single. Cardinals starter Adam Wainwright then hit two consecutive Reds batters with pitches to bring in the first run of the game.
The Cardinals took a 2-1 lead in the second inning on RBI singles from Tyler O'Neill and Yadier Molina.
Reds second baseman Jonathan India hit a leadoff single in the second frame. Vladimir Gutierrez and Eugenio Suarez got out in the next two at-bats, which prompted Winker's second walk to the plate.
The Reds star took the first two Wainwright pitches for balls. He fouled off another fastball and took a cutter for a ball to work to a 3-1 count.
Winker then smashed Wainwright's fifth pitch of the exchange, a 73.7-mph curveball, to right field for a 425-foot, two-run homer. The 105.7-mph blast gave the Reds a 3-2 edge.
Reds catcher Tucker Barnhart brought in the final run of the game with an RBI double in the top of the eighth inning.
Gutierrez allowed three hits and two runs in five innings to move to 1-1 on the season. Wainwright allowed eight hits and three runs in seven innings to drop to 3-5.
Castellanos, who also is expected to make the All-Star team, went 2 for 4 in the victory. Cardinals second baseman Tommy Edman went 2 for 5 with a run scored in the loss.
The Reds (25-29) face the Cardinals (31-26) in the second game of the four-game series at 8:15 p.m. EDT Friday at Busch Stadium.