McCarthy pitched a three-hitter for his first win since being struck in the head by a line drive last season, helping the Diamondbacks beat the Miami Marlins 1-0 on Saturday night.
"He just got on a roll and we left him in there," Arizona manager Kirk Gibson said. "He did it quickly, that was the best sign of all."
Gerardo Parra led off the game with a home run for Arizona, which has won four in a row while dealing the Marlins a season-long seven-game losing streak.
"It was a good baseball game," Marlins manager Mike Redmond said. "The outcome wasn't good for us but it was a good game. I thought guys were aggressive. We got good pitches to hit, but we can't get out of the other end of these tight games."
McCarthy (1-3) struck out five and walked two while throwing 68 of 99 pitches for strikes in his third career shutout, first since Sept. 3, 2011, against Seattle.
"It's something that I want to do and be able to follow through on," said McCarthy of his seventh career complete game.
McCarthy was hit in the head by an Erick Aybar line drive on Sept 5. 2012, against the Angels while with Oakland. He suffered a skull fracture and underwent surgery to end his season.
He signed a two-year deal with Arizona in December and went without a win in his first eight starts with his new club.
"The win part, I don't care, like I said last week, it's a win for us, which is the only thing I care about," McCarthy said. "My numbers and stats are really inconsequential. It's nice that we were able to get it and it was nice that I was a big part of that, but that's how I look at it."
Last Sunday, McCarthy was pulled after eight scoreless innings and 88 pitches, and Arizona's relievers blew a late lead during a 4-2 loss in 10 innings to the Philadelphia Phillies.
Parra's home run to right-center field came on the first pitch from Tom Koehler (0-2) on Saturday. It was Parra's third career leadoff home run and it came on the advice of batting coach Don Baylor.
"I talked to him before the game and he said, 'Just swing first pitch' and he was right," Parra said. "He's got more experience than me.
It was the first time since Sept. 14, 1993, in which a game featured a leadoff home run on the first pitch of the game and that was the only run scored, according to the Elias Sports Bureau when Carlos Garcia accomplished the feat for the Pirates against the Marlins.
"You're just trying to throw a first-pitch strike, but I don't think you could have put it on a tee any better," Koehler said. "He swings first pitch and he got exactly what he was looking for. And he took care of it."
"The throw there, we've seen it a lot," Gibson said. "It's unreal how good he is and how accurate and strong his arm is. It was a big play for us."
McCarthy retired the next 14 batters he faced until Adeiny Hechavarria singled in the sixth. Hechavarria advanced to second on a passed ball, but McCarthy struck out Dietrich to end the inning.
"From about the second inning on I was kind of able to get back to (a focus point) and at least repeat my delivery, make some pitches, and turn the game over to my favor instead of the first where everything was a little too optimal and too hittable," McCarthy said.
McCarthy retired the final nine batters to complete a 2-hour, 24-minute gem.
Koehler, making his third career start, limited the Diamondbacks to one run and three hits over six innings. He struck out seven and walked two.
Ryan Webb pitched 1 1/3 scoreless innings in relief to extend his scoreless streak to 16 2/3 innings for Miami.
McCarthy has walked three batters or fewer in 68 straight starts, the third-longest active streak in baseball. ... Diamondbacks 1B Paul Goldschmidt went 1 for 4 and is hitting .426 (23 for 54) with seven home runs and 17 RBIs in May. ... Marlins 1B Logan Morrison (knee) will begin a rehab assignment on Monday with Class A Jupiter. ... Arizona LHP Wade Miley (3-2, 3.75 ERA) will take the mound in Sunday's series finale against Marlins RHP Ricky Nolasco (2-5, 4.39 ERA).