Updated

Jesus Guzman was the hero for about five minutes.

Guzman's two-run double off St. Louis Cardinals closer Jason Motte with two outs in the eighth inning gave the San Diego Padres a one-run lead Monday night. But Guzman was trumped in the bottom half by Tyler Greene, who hit a two-run homer that held up for a 4-3 victory.

The Cardinals ended a four-game losing streak and denied the Padres their first three-game winning streak of the year.

"When I hit that double, I think we're going to win," Guzman said. "That's part of baseball. This guy, Greene, he hit a good pitch."

Four St. Louis pitchers worked in the eighth as the Padres erased a 2-1 deficit. Chris Denorfia's leadoff double chased starter Jaime Garcia. Mitchell Boggs got the next two hitters but Marc Rzepczynski walked Yonder Alonso on four pitches to keep the inning going before Guzman's double.

Minus a win, Guzman did find a silver lining.

"It was an emotional day," he said. "We were fighting all game and to me that's important. We're fighting and that's what we want to do every game."

Garcia allowed two runs and struck out seven in seven-plus innings for the injury-riddled Cardinals, who maintained their half-game lead in the NL Central over Cincinnati. St. Louis has won just three of its last 11.

Clayton Richard got the first out in the eighth before the Padres went to the bullpen. Yadier Molina hit a broken-bat single with one out off Andrew Cashner (2-3) and with two outs, Greene homered to right-center for his third hit.

"I made a good pitch and he put a good swing on it," Cashner said. "He kind of ran into it a little bit. You've got to just tip your cap to him."

The 7 1-3 innings by Richard was his longest outing. He allowed two runs and seven hits.

"It was two lefties pitching very well," said Padres manager Bud Black, a former lefty pitcher himself. "I guess you could say both guys deserved a better fate because both starters pitched very well."

The blown save was Cashner's second in two chances.

Motte (3-1) allowed Guzman's two-run double in the eighth for his second blown save in the last three chances, but finished off the win.

Alonso had two hits for the Padres, who are a major league-worst 4-11 on the road after dropping the first game of a 10-game trip.

Garcia's third career balk, and first this season, was costly in the second. Alonso went to second after hitting a leadoff single, then advanced on a groundout before scoring on Nick Hundley 's sacrifice fly.

St. Louis manager Mike Matheny let Garcia hit in the seventh with one out, a man on second and the Cardinals down by a run. Garcia came through with an infield hit, beating out a grounder deep in the hole that shortstop Andy Parrino gloved but followed with a late, offline throw.

Rafael Furcal busted a 1-for-14 slump with a single to tie it and Garcia scored the go-ahead run on Matt Carpenter's groundout.

Garcia intentionally walked eighth-place hitter Parrino to load the bases in the seventh before striking out Richard to end the threat. Richard struck out all three at-bats and is 1 for 20 on the season with a single and 13 strikeouts.

Earlier in the seventh, Alexi Amarista just missed on a squeeze bunt attempt barely foul down the third-base line before striking out.

NOTES: Cardinals 3B David Freese , in a 3-for-34 slump with all three hits in the same game, got a day off to work on his stroke. ... Richard is a .122 career hitter (14 for 117) with four doubles, nine RBIs and 46 strikeouts. ... Hundley has nine RBIs in 15 career games against St. Louis. ... Parrino was 0 for 19 before singling in the fifth. ... The Padres are 2-22 when trailing after seven innings.