ST. LOUIS — Once he wiped away the tears, Carlos Martinez went to work.
Martinez watched an emotional pregame tribute to late teammate and best friend Oscar Taveras, then pitched one-hit ball for seven shutout innings to lead the St. Louis Cardinals over the Los Angeles Dodgers 3-1 Sunday.
"When (I) went out to start, (I) was just about 'OK, this is an opportunity to take this win for Oscar, to play hard, to compete, to get my focus and do it for him,'" Martinez said through an interpreter.
Jhonny Peralta homered and drove in all three runs for the Cardinals.
On the one-year anniversary of Taveras' major league debut, his family was on the field to honor him. Taveras and his girlfriend were killed in a car accident in his native Dominican Republic in October.
Martinez was best friends with Taveras, and is wearing the outfielder's No. 18 this season.
Martinez (5-2) struck out eight and extended his scoreless-inning streak to 20 1-3.
"He was great, maybe one of his best yet," manager Mike Matheny said. "Just from the first pitch and his last one, he turned it up a notch."
"He was just very consistent with everything he had. He had great movement and great poise. Today was just a very tough test for him all the way around and he answered," he said.
Trevor Rosenthal earned his 15th save in 16 tries. Justin Turner was ejected by plate umpire Marty Foster for arguing after looking at strike three to end the game.
The Cardinals improved to 20-6 at Busch Stadium, the best home start in team history.
Joc Pederson hit his 13th homer in the Dodgers eighth. He tied Orlando Cepeda (1958) for second place for the most homers by a rookie through the month of May — Albert Pujols hit 16 in 2001.
Brett Anderson (2-3) settled in after a shaky start. The lefty retired nine of the final 10 batters he faced, striking out five out of six during that stretch.
Anderson gave up two runs on five hits and three walks in six innings.
"Maybe the worst stuff I've ever had in the big leagues," he said. "Terrible. There's not too many moral victories in this game, but the fact I gave our team a quality start and two runs with my 'D-plus' stuff in this ballpark against this team, I can take solace in that. I competed well."
Peralta's two-run homer in the first was his eighth this season, matching Matt Carpenter for the team lead. It was the seventh straight game in which the Cardinals scored in the opening inning.
Peralta also had to fight back his emotions during the Taveras tribute.
"It's hard to see that on the board," Peralta said. "Everything he do, in the first game he hit a home run, so it was good for he to hit a home run to give it him."
Baserunning blunders cost the Cardinals in three innings.
Anderson picked off Jason Heyward in the second and Peter Bourjos in the fifth. Randal Grichuk was doubled off at first on a fly ball to right in the third.
Dodgers: LHP Paco Rodriguez (elbow) was put on the 15-day disabled list and RHP Matt West was recalled from Triple A-Oklahoma City.
Cardinals: OF Matt Holliday (flu) was a late scratch from the lineup and was replaced by Bourjos. Holliday missed Friday's game and was taken out of Saturday's game after extending his streak of reaching safely in 44 games to start the season.
Dodgers: RHP Clayton Kershaw (3-3, 3.86 ERA) will start a four-game set at Colorado on Monday and is undefeated in his last eight starts against the Rockies going 7-0 with a 2.63 ERA during that stretch.
Cardinals: LHP Jaime Garcia (1-1, 3.46 ERA) will try improve on a 6-3 career record against the Brewers as the Cardinals continue their homestand against Milwaukee on Monday.