Johnson (2-1), who signed a four-year, $39-million contract in January, pitched past the sixth inning for the first time in five starts this season. He walked one and threw 117 pitches in his fourth career complete game, his first since June 14, 2009.
The three-hitter was a career best. Johnson also went 3-for-4. He singled home a run in the second and hit a two-run single in the third.
Cards' Lopez on DL
The St. Louis Cardinals placed infielder Felipe Lopez on the 15-day disabled list with a right elbow strain. Lopez thinks pitching in a 20-inning game against the Mets is at least partly to blame for the injury.
Lopez said he felt tightness in the elbow when sliding headfirst into second on a double during the first week of the season and figured he'd be able to play through it. "Pitching obviously didn't help the situation," he said. "At the time, I thought I could do it."
Lopez was batting .273 with a homer, four doubles and four RBIs in 44 at-bats, but started only two games after working an inning against the Mets in a 2-1 loss April 17 and won't throw again for two weeks.
"I never say no to whatever the team needs. If I have one leg, I'll do it," Lopez said of trying to pitch against the Mets.
Manager Tony La Russa didn't second-guess himself for asking Lopez to pitch.
"I've got to put him out there," La Russa said. "But if you look at his throws [from the mound], they're less stressful than throwing from third base, second base and shortstop."- AP