Eric Hartline-USA TODAY Sports

Zack Wheeler and two relievers combined on a four-hitter as the Philadelphia Phillies shut out the visiting St. Louis Cardinals 4-0 Sunday.

Wheeler (7-4) held the Cardinals to those four hits and a walk while striking out five batters over seven innings. It was his fifth scoreless start of six of more innings this season, tying Rangers pitcher Martin Perez for most in the majors.

Nick Nelson set the down the Cardinals in the eighth inning and Corey Knebel closed out the ninth.

JT Realmuto hit a two-run homer and Rhys Hoskins added a solo homer, a double and two runs for the Phillies, who are 21-9 since the end of May.

Cardinals starting pitcher Adam Wainwright (6-6) allowed four runs on eight hits in 5 2/3 innings. He struck out five batters and walked one.

The Phillies threatened in the third inning when Bryson Stott walked with one out and Yairo Munoz lined a single to center field. But Kyle Schwarber grounded into a double play to end the inning.

Leading off the bottom of the fourth, Hoskins broke the scoreless tie with his fourth homer in his last five games. Realmuto and Alec Bohm hit two-out singles before Odubel Herrera grounded out.

The Phillies increased their lead to 4-0 in the sixth inning. Hoskins hit a leadoff double, his sixth hit in 10 at-bats against Wainwright, and he scored on Nick Castellanos' single.

One out later, Realmuto hit his two-run homer.

The Cardinals threatened in the eighth inning when Andrew Knizner walked and advanced to second on a groundout, but Nelson struck out Brendan Donovan to leave him there.

The Phillies had a chance to tack on in the eighth inning with the help of an error. After Darick Hall hit a single, Realmuto hit a potential forceout grounder -- but second baseman Nolan Gorman muffed shortstop Tommy Edman's throw.

Hall raced to third and Realmuto later stole second base, but Bohm and Herrera struck out to strand them.

More must-reads:

TODAY'S BEST
Broncos make a needed, but surprising, selection with No. 12 pick
Bears are giving Caleb Williams one of NFL's best WR groups
Dodgers get more bad news on pitching depth
Raiders select versatile pass-catcher with No. 13 pick in draft
Falcons make awful draft decision with No. 8 overall pick
Jets draft protection for Aaron Rodgers with No. 11 pick
Vikings trade up to select new franchise QB with No. 10 pick
Giants draft marquee weapon for Daniel Jones with No. 6 pick
Cardinals draft much-needed offensive weapon with No. 4 pick
Chargers stand pat, select massive offensive lineman with No. 5 pick
New Patriots regime ready to build around North Carolina QB Drake Maye
A.J. Brown extension puts pressure on 49ers to resolve Brandon Aiyuk situation
Hurricanes forward unlikely to make postseason return due to neck injury
Bill Belichick shares his criticism of Patriots' first-round selection
Commanders select top quarterback prospect with No. 2 pick, hope to solve QB woes
Eagles lock in another star wide receiver with record contract extension
Warriors star named Clutch Player of the Year
Bears select Caleb Williams with No. 1 pick in 2024 NFL Draft
Hall of Famer isn't sold on this top quarterback prospect
Steelers make notable decision on QB Justin Fields