SAN DIEGO – Jake Cronenworth started the Fourth of July fireworks early with a bases-loaded walk-off single in the 10th inning as the San Diego Padres beat the Texas Rangers 3-2 on Friday evening at Petco Park.

The Padres (47-40) never led until the end, clawing back from an early 2-0 deficit to notch their fourth walk-off win of the season and improve to 4-4 in extra innings games. Cronenworth’s game-winner was his fifth career walk-off hit, which opened the 10-game homestand for San Diego ahead of the All Star break.

“We had so many chances to win the game there earlier, especially in the seventh and the eighth, to get it done there was awesome,” Cronenworth said. “I think the resiliency of the team fighting back there, (Texas) has a great pitching staff so this was a great win.”

Adrian Morejon got San Diego through the 10th inning allowing just a walk, but prevented the ghost runner from advancing to earn his fifth win of the season. The Padres bullpen combined to hold Texas (43-45) to two hits in four innings, with four strikeouts and three walks.

The game played out as one would expect between two of the bottom-eight offenses in runs scored that are also both in the bottom-third of the league in batting average, as both offenses struggled with the scoring opportunities they generated.

“We had traffic out there, a lot of good quality at bats and couldn’t cash, had some opportunities,” said manager Mike Shildt.

Padres pitchers stranded seven of the Rangers’ 10 left on base in scoring position, as starter Randy Vásquez kept four parked, and relievers Jeremiah Estrada in the seventh and Robert Suarez in the ninth each retired the side with a man on second.

Yet San Diego couldn’t convert on a one-out double by Trenton Brooks in the ninth, left Luis Arraez on second in the eighth with two outs and couldn’t convert on two opportunities with the bases loaded in the sixth. Five of their 12 left on base were in scoring position.

“We’ve been on a rough stretch here with a long travel… I think it’s just a testament to the group,” Cronenworth said of the team’s ability to battle through earlier missed opportunities.

Fernando Tatis Jr. led off the sixth with a triple off the wall in right field that Adolis Garcia couldn’t get to while fighting the sun. After Manny Machado walked with one out, reliever Hoby Milner allowed an RBI single through the left side of the infield by Arraez to tie the game at 2-2.

Gavin Sheets followed with an infield single on the right side of the infield that first baseman Jake Burger couldn’t make a play on that loaded the bases. Back-to-back strikeouts ended the threat, extending Vásquez’s streak of no-decisions to eight straight as well as taking Texas starter Kumar Rocker off the hook.

Machado had put the Padres on the board in the fourth, crushing an elevated middle sinker to the batter’s eye center field 440 feet for the longest San Diego home run of the season and his 14th long ball of the season.

It snapped a streak of seven straight retired by Rocker, who had only allowed a single hard hit ball prior on the first out of the game. It was the first time a San Diego batter was able to barrel Rocker up all game.

After being announced as an All Star Game starter for the second time as a member of the Padres and fourth time in his career earlier in the week, Machado finished the day with a pair of knocks to move within three hits of 2,000 for his career.

Vásquez completed six full innings for the sixth time, topping the 90-pitch mark for his second straight start and fifth overall. He allowed three hits and two runs over six innings, while working around three walks with a strikeout and just one hit in six at bats with runners in scoring position.

“Randy was tremendous, he was navigating the lineup very well,” Shildt said. “(He) covered a little bit of his own inflicted walks, two out walks got him a little bit, but other that that I thought he was fantastic.

“(Martín Maldonado) did a nice job with him, (Vásquez) pitched add and subtract, in and out, changed speeds and I thought he was really good.”

The only bit of damage came when a two-out walk haunted Vásquez in the third, as the free pass to Josh Smith set up back-to-back first-pitch hits by Corey Seager and Marcus Semien. The fifth extra base hit over the past eight games by Semien plated a pair to give Texas the early 2-0 lead.

Bryce Johnson replaced Xander Bogaerts as a pinch hitter in the 10th inning when Bogaerts grabbed the back of his right leg after swinging and missing at the first pitch he saw in the 10th inning. Shildt said postgame that it was a “pretty nasty cramp,” but noted that though it didn’t sound like it was hamstring related, the cramping has been occurring more frequently so the medical staff will “do the proverbial deep-dive and find out what that looks like.” 

The win was San Diego’s third straight on Independence Day and fourth in the past five games on the Fourth of July. It also extended the Friars’ run of success against the Rangers, making it seven straight wins over Texas at Petco Park and wins in 14 of 15 games since their final game against each other in 2018.

Game two of the series will see Stephen Kolek (3-3, 3.73 ERA) take the hill for the Padres against right-hander Jack Leiter (4-5, 4.28 ERA), with first pitch scheduled for 6:40 p.m. at Petco Park. In addition to regular local broadcast coverage on television and radio, the game will be aired by MLB Network to out-of-market audiences as well.

This story was updated at 7:37 p.m.