"It was just more confident, direct approach at the strike zone, which we hadn't seen," manager A.J. Hinch said. "So that was a good adjustment for him."
"I just felt a little more comfortable this outing," Mulvey said. "It's only my third start in the big leagues. I'm just getting my feet on the ground and felt like I mixed my pitches better and felt like I attacked better."
Mulvey (0-2) allowed just two hits over six innings, but he wound up walking four and hitting a batter. Two of his four walks came around to score.
The only hitter that did real damage to him was Juan Uribe.
The Giants' shortstop doubled home a run in the second and smacked a two-run homer in the sixth that put San Francisco up 3-0. Both of the hits scored Pablo Sandoval, who had reached via the base on balls each time.
"It just felt like this whole game from a pitching standpoint, the walks killed us," Hinch said. "Gave them extra runs, got new guys up to bat. Free passes end up costing you in the end."
The D-backs made a game of it in the sixth when Rusty Ryal drove in a run with a triple and scored when Gerardo Parra followed with a sacrifice fly.
The Giants, though, answered right back in the top of the seventh with a pair of unearned runs -- thanks to a two-out error by Ryal at first -- to pull away, 5-2.
While walks hurt the D-backs on the mound, it was strikeouts that hurt them at the plate. Arizona fanned a season-high 16 times.
"Strikeouts, they'll stall any offense," said Mark Reynolds, who fanned two more times to increase his Major League record to 208. "If you're not getting guys on base, if you're not executing, it's a frustrating day."
That it was for the D-backs, who could not figure out Giants starter Jonathan Sanchez. The left-hander allowed two runs and walked a pair while fanning nine in 5 1/3 innings.
"He's one of those guys that's effectively wild," Reynolds said. "You never really know when he's going to be in the zone. He was mixing his pitches and throwing just enough strikes to keep us off balance."
Eight of the 16 strikeouts came in the final four innings of the game.
"There are times in our offense where strikeouts mount heavily and pretty high," Hinch said. "We just never really had an answer for Sanchez. Early in the game he gave us a few free passes and we didn't take advantage of that, then we got a little wild with our strike zone. We started swinging at the ball up a lot, which we do from time to time. It's a streaky bunch at times. We didn't have a ton of discipline."