With one out in the eighth inning Monday night in St. Louis, Zack Wheeler grabbed a bat and went to the on-deck circle. It didn’t matter that his pitch count was nearing 100, or that the Phillies were clinging to a one-run lead.

After his last start, Wheeler wanted the game in his hands.

» READ MORE: How Phillies’ Zack Wheeler rose to the level of an elite major-league starting pitcher | Scott Lauber

“Absolutely,” he said, still smarting from letting the San Francisco Giants stay close in a game that they eventually won last week at Citizens Bank Park. “When you have a couple subpar games, you want to get back out there and get on the right foot. That was my goal today, be my best, and get a ‘W’ for us.”

The Phillies needed it, too, after a rough weekend in Colorado. So, Wheeler cranked up his fastball to 99 mph, allowed one hit, and racked up nine strikeouts.

And backed by two more home runs from scorching Rhys Hoskins and a final-out fly ball to the warning track against closer Héctor Neris, Wheeler outdueled Adam Wainwright in a 2-1 gem that pushed the Phillies back to a familiar place: the .500 mark.

“You could see how uncomfortable their hitters were,” Hoskins said after the Phillies evened their record at 11-11 after being 6-6, 7-7, 8-8, 9-9, and 10-10. “The couple of guys that did get on first base said that immediately, too, that his stuff is just exploding out of his hand. Huge, huge performance by him.”

It was an old-school pitchers’ duel featuring a contrast in styles. Wainwright, the Cardinals’ 39-year-old mainstay, leaned on his signature curveball; Wheeler blazed up his heater. They became the first pitchers to complete eight innings in the same game this season — and then they went one better, each coming out for the ninth inning, too.

“Kind of cool to see an old-fashioned ballgame,” manager Joe Girardi said.

In a game like that, little things matter. If Paul DeJong doesn’t foul off three consecutive fastballs to extend a nine-pitch at-bat in the fifth inning before lining the Cardinals’ only hit off Wheeler, maybe Wheeler finishes the game. And if Wheeler doesn’t make a heads-up play in the sixth inning, maybe the Phillies go to their bullpen in the eighth.

Neither team had scored when Wheeler walked the leadoff man in the sixth. Wainwright, who hits well for a pitcher, squared to bunt but got knocked over by the force of a 95-mph sinker. He popped it up, and rather than catching the ball in the air, Wheeler let it drop and threw to second to start an easy double play.

“When you’re in the dugout, you see it happen every once in a while and you’re like, ‘If it ever happens to me, I’m going to let it drop,’” Wheeler said. “First time I got that opportunity. It was literally like a glove’s length away from me, and I was like, drop it. Or don’t catch it. Luckily we were able to turn two there.”

» READ MORE: Phillies plan to use Spencer Howard as a starting pitcher as back of the rotation struggles

Said Hoskins: “I think the bunt play changed the whole game. Him and Waino were back and forth. Wheels makes that really, really good baseball IQ play. We get to go ahead the next inning, and off we go.”

Indeed, Hoskins led off the seventh inning with a homer into “Big Mac Land,” the area in left field made famous by Mark McGwire in 1998. He went deep again in the ninth, marking his second two-homer game on the road trip.

Hoskins has six homers in his last six games and leads the majors with eight. His recent homer binge — along with Bryce Harper’s two-homer game Sunday in Colorado and the consistency of J.T. Realmuto, who notched three hits against the Cardinals — has represented the extent of the Phillies’ offense.

“You look at the two wins that we’ve had on this trip, Rhys has hit four home runs,” Girardi said. “Big nights.”

Wheeler put it another way: “Luckily we’ve got Rhys.”

Girardi sent Wheeler out for the ninth inning, but he walked pinch-hitting Matt Carpenter. With Wheeler’s pitch count having reached 114, Girardi called for Neris. Tommy Edman singled to put runners on the corners, and Carpenter scored on a groundout.

Neris got dangerous Paul Goldschmidt to foul out to third baseman Alec Bohm before Nolan Arenado crushed a ball to center field.

Girardi’s heart surely skipped a beat.

“No, not one. Two,” Girardi said. “It’s not where Hector wanted it, but he got away with it.”

» READ MORE: Why the Phillies ‘thought it was the time’ to call up center fielder Odúbel Herrera

Said Wheeler: “Off the bat, I didn’t think it was gone. And then it kept on carrying a little bit, and you’re watching the outfielder. It scared me a little bit, to be honest with you.”

But Odúbel Herrera, called up earlier in the day from the Lehigh Valley alternate site, ran the ball down on the warning track to seal the game and provide Wheeler with the only help he needed.