Four hours before he rocked Citizens Bank Park with an emphatic three-run double in the seventh inning of a needed 7-3 win over Detroit, Maikel Franco stepped into the batting cage in front of a quiet, empty ballpark.

His hitting coaches leaned against the cage and manager Gabe Kapler stood in foul territory to watch the right-handed hitter spray batting-practice fastballs into right field. The monotonous drill, which Franco runs through each afternoon, helps fill the time until the crowds arrive and the pressure builds.

But there is more to the afternoon than monotony. Franco, with each swing, thinks about hitting the ball to the opposite field. Last season, Franco sent just 21.7 percent of his contact into right field. Hitting to right field, the way he does each afternoon, has been rare ever since he arrived to the majors.

“I’m not even thinking pull the ball,” Franco said. “I don’t even try to hit home runs in batting practice to left field. If I hit a homer, it’s going to be to right field or center.”

It is that afternoon work that is preparing Franco for moments like Wednesday night, when the pressure mounted and the seats were filled. The Phillies had the bases loaded against the hard sinker of Tigers righthander Victor Alcantara.

A year ago, Kapler said, Franco would ground out to the left side. But this year has been different. Franco entered Wednesday with 33.7 percent of his contact going to the opposite field. Franco, for the first month of the season, has been more of a complete hitter than he has ever been.

He stayed on Alcantara’s sinker, watched it tail high, and drove it to right-center field for another opposite-field hit.

The Phillies, after limping through the first 15 innings of the series, finally had thrown the big punch. They had three runs, and for Franco it was just like batting practice.

“I work every single day, man,” Franco said. “I just come in and work what I have to work on. Get better with what has to get better every single day. I’m just working right now with my hitting coach. I’m staying more on the middle of the plate, so I try to drive the ball the other way and put good contact on it.”

Franco’s hit propelled the Phillies to a needed win as they enter an off-day Thursday feeling good before opening a challenging series on Friday with the Nationals. They have won four of their last five games and this weekend will be a way to see just how far they have come from the team that stumbled through its recent road trip.

The three-run double moved Franco briefly into the team’s RBI lead until Rhys Hoskins homered in the eighth to tie Franco with 25 RBIs.

Franco’s damage has come at the No. 8 spot, a rare place for a team to stash its RBI leader. But it does not seem that Franco will be moving any time soon.

“I personally don’t feel the need to put a label on Maikey right now, who he is in terms of where he should hit in the order,” Kapler said. “You know that he’s been especially comfortable down there and he’s been especially productive down there. I don’t feel the need to change a really good thing right now.”

The big hit came too late to give Aaron Nola a win, but it was enough to not dampen the progress Nola seemed to make on a night that did not feature ideal pitching conditions. Nola struck out six, walked three, and allowed one run on seven hits before being lifted with two outs in the sixth inning.

Nola threw an almost even balance of fastballs and curveballs, while mixing in a changeup. He used that changeup to strike out JaCoby Jones and end the fourth inning with the bases loaded, three batters after Nola was hit in the back by a 100.8-mph line drive.

Nola, for the second-straight start, showed improvements after a rough start to the season. He battled through a brisk, windy, and misty night to keep the Phillies afloat. But after the offense scored just one run Tuesday night, it was not a sure bet that his night would be good enough.

“I’m going to keep battling and competing. That’s all I can do,” Nola said. “Obviously, I want to go deeper into the game. I want to go seven-plus and kind of save that bullpen. All I can do is compete out there and try to keep being precise with my pitches.”

The punch that Franco threw with his three-run double found its energy with J.T. Realmuto’s one-out double. Sean Rodriguez was hit by a fastball and Cesar Hernandez snuck a single into left field. The Phillies had a rally.

It was just a few hours earlier that Franco was in this position. The stands were empty then, the ballpark quiet. But the thoughts that ran through his mind were the same.

“I put it into my mind,” Franco said. “I don’t care how the other guy throws. I just think about middle or opposite field.”

He did just that. His line drive zoomed to the opposite field, the baserunners sprinted around the bases, and third-base coach Dusty Wathan waved his arm like a windmill to send them home. Franco, just as he did in the afternoon, came through. But this time it mattered.