ST. LOUIS - The St. Louis Cardinals reminded Jhonny Peralta it was getting close to dinner time. Then he did something about it.

Peralta hit a game-ending homer in the 10th inning, lifting the Cardinals to a 3-2 victory over the Arizona Diamondbacks on Monday.

"A lot of the guys said they were hungry," Peralta said. "So, it was good to get the win right there."

Peralta's leadoff drive on a 1-2 pitch from J.C. Ramirez (1-1) was his fourth career game-winning homer. The Cardinals improved to 4-1 in five extra-inning home games in May, including a sweep against the Pirates at the beginning of the month, and they lead the majors with eight extra-inning games overall.

Peralta's seventh homer just cleared the wall in left. He was too busy running to notice.

"I think I was on first base already," he said. "This is the best feeling that you can feel. Home run, win the game — the best."

Mark Trumbo hit a tying two-run homer in the eighth for Arizona, but the Diamondbacks stranded five the last two innings. The Cardinals wasted two hits to open the ninth when Ramirez struck out Matt Carpenter, Matt Holliday and Matt Adams.

"It's as tough as you want to make it," Trumbo said. "I think we fought really hard against a really good team. There was a lot of positives and I think everyone's actually pretty pumped up about the way we battled."

Carlos Martinez matched his career high with eight strikeouts in seven innings for St. Louis, which got an RBI apiece from Matt Adams and Jason Heyward. Trevor Rosenthal (1-0) retired Chris Owings and Tuffy Gosewisch with the bases loaded to end the 10th.

"I just tried to make pitches," Rosenthal said. "I'm never really trying to add or subtract."

The NL Central leaders are 6-1 against Arizona the last two seasons while holding the Diamondbacks to two or fewer runs five times.

Arizona starter Chase Anderson allowed two runs in six innings. Yasmany Tomas had three singles, giving him 18 hits in a nine-game hitting streak, but the bottom four spots in the order totalled one hit and one walk.

"When they do perform like they did the last series, we score a lot of runs," manager Chip Hale said. "It's a work in progress."

Martinez has four eight-strikeout games and has totalled 13 1/3 scoreless innings his last two outings. He gave up five hits and walked two.

"It's a shame we couldn't hold it for him," manager Mike Matheny said. "He had some of the consistency that we've wanted to see."

St. Louis slugger Matt Holliday singled twice and has reached safely in all 41 games, trailing only former teammate Albert Pujols — who did it in 42 straight to start the 2008 season — for the longest streak in the majors since 2000.

TRAINER'S ROOM

Diamondbacks: Reliever David Hernandez (elbow) was set to make his fourth rehab appearance, and second straight with Double-A Mobile. ... Reliever Oliver Perez stayed in after Holliday lined a single off his right ankle in the seventh, but left after walking Adams on four pitches. ... Enrique Burgos got a mound visit from Hale and trainers after warmups in the ninth, complaining of undisclosed soreness, and then lasted just two hitters. Hale said Burgos would be re-evaluated.

Cardinals: Leadoff man Jon Jay (left wrist) begins a short rehab stint Tuesday with Class A Peoria. General manager John Mozeliak said Jay could be in the lineup as soon as Friday. ... LHP Marco Gonzales might skip a start due to recurring shoulder issues.

UP NEXT

Diamondbacks: Archie Bradley (2-1, 4.00 ERA) is 0-1 with a 10.29 ERA in his last two starts since sustaining a right sinus fracture after being struck in the face by a line drive by Carlos Gonzalez on April 28.

Cardinals: Jaime Garcia (0-1, 2.57 ERA) makes his second start of the season after allowing two runs in seven innings against the Mets.