Ray Acevedo-USA TODAY Sports

Willson Contreras belted a two-run homer to put the visiting St. Louis Cardinals ahead for good and Miles Mikolas tossed six solid innings in a 5-2 win over the San Diego Padres on Tuesday night.

San Diego starter Yu Darvish was pitching a strong game and had a 2-1 lead with two outs in the top of the sixth after slipping a called third strike past Paul Goldschmidt. But Contreras drilled a down-and-away splitter 420 feet to deep right-center for his second homer in as many nights.

St. Louis tacked on two more runs in the eighth against the San Diego bullpen. Catcher Luis Campusano dropped a throw to the plate on a fielder's-choice grounder by Nolan Arenado that allowed Brendan Donovan to score, and pinch hitter Ivan Herrera lofted a sacrifice fly for the game's final run.

Mikolas (1-1) scattered seven hits and allowed two runs, walking one and fanning four. Three relievers pitched an inning apiece, with Ryan Helsley working the ninth to earn his first save of the season.

Darvish (0-1) allowed three runs on five hits and a walk over seven innings, the longest outing by a Padres starter this year. Darvish fanned six.

San Diego initiated scoring in the second when Jurickson Profar doubled to left with one out and Campusano drove him in with a single to center.

The Cardinals erased that lead in the third via solid fundamental baseball. Victor Scott II led off with a double, moved to third on Michael Siani's sacrifice bunt and scored on a sacrifice fly by Masyn Winn.

The Padres regained the lead in the fourth when Campusano doubled with one out and scored on Tyler Wade's double to the right field corner.

San Diego's best chance to wipe out St. Louis' lead came in the seventh after Xander Bogaerts walked and Fernando Tatis Jr. singled with one out. But Jake Cronenworth's sharp grounder up the middle was snagged by Winn for an inning-ending 6-3 double play.

More must-reads:

TODAY'S BEST
Do Oilers need more from Connor McDavid to get to Stanley Cup Final?
All-Rookie teams show gems available all over draft
The NBA has not witnessed this much parity in 50 years
Knicks expected to be 'aggressive' in upgrading their roster
Drew Bledsoe offers advice for Patriots rookie QB Drake Maye
2024 AFC revenge games: Brothers, 'Stefon Diggs Bowl' to take center stage
2024 NFC revenge games: Which game should Cowboys, others have circled?
How All-Star Race victory could turn Joey Logano's season around
Xander Schauffele's triumph could open the floodgates for his career
Anderson Silva, Chael Sonnen will finish off their trilogy in a boxing ring
Ranking the five best MLB free-agent signings of offseason
Veteran WR, former first-round pick announces NFL retirement
Oilers advance to West Final again after holding off Canucks in Game 7
Bengals star WR not expected to sign franchise tender before OTAs
Red Sox RHP diagnosed with ligament damage in elbow
Watch: Caitlin Clark shows off range with logo three, but Fever fall short
Former Dolphins receiving leader announces his retirement from NFL
Detroit Lions dominate PFF's top-25 players under 25
Hall of Famer, legendary Raiders offensive lineman dead at 86
Report: Cavs owner 'would never' trade Donovan Mitchell to this team