Arizona's Daniel Hudson was coming off his shortest start ever in the major leagues, and had already given up a first-inning run against the Texas Rangers.
Then Hudson got in a groove, and got plenty of help from his offense.
Hudson retired 16 of 17 batters after the Rangers got their first run, then Jason Kubel and Gerardo Parra homered while he was still in the game as the Diamondbacks went on to an 11-3 victory Thursday night.
"Get momentum, especially getting a lot of guys in a row out, pitching out of the windup a lot, just get in a rhythm," Hudson said. "Mechanics are the same every single time, that's what we strive for."
Asked if that's how he felt, the right-hander responded, "Yeah, it did."
The Diamondbacks scored one run while losing the first two games of the series, but led for good in the finale after Kubel's two-run homer in the second off Scott Feldman (0-6).
Parra's three-run shot off reliever Tanner Scheppers capped a five-run sixth. Miguel Montero added a two-run homer in the ninth.
Hudson (3-1) struck out a season-high seven without a walk only six days after he gave up six runs in 1 2-3 innings against Oakland in a game the Diamondbacks eventually won 9-8.
"He kept it together there," Diamondbacks manager Kirk Gibson said. "They got the run in the first inning, and stayed in the game plan, kept them off balance, did a good job of shutting them down."
Texas took a 1-0 lead when Elvis Andrus doubled in the first and scored on a single by Adrian Beltre.
Hudson, 4-0 in six career interleague starts, then allowed only a third-inning single by Andrus, and struck out the side in the sixth, before Beltre led off the seventh with a double.
"He kept us off-balance. He mixed it up," Rangers first baseman Mitch Moreland said. "We got out of our game plan. You've got to stay locked in and stay with your approach."
The performance by Hudson came a night after the Rangers managed only three hits in 7 2-3 innings off rookie lefty Wade Miley, a game the Diamondbacks lost 1-0.
Arizona had lost seven consecutive games at Rangers Ballpark since last winning there in June 2000.
Lyle Overbay had three hits for the Diamondbacks, including a two-run double after an error by Moreland extended the Diamondbacks' third.
Overbay had a one-out single in the second before Kubel's seventh homer, his third in seven games and first on the road. Kubel has 14 RBIs in that same stretch.
Justin Upton, who was called out on strikes three times, reached on a two-out infield single in the third on a slow roller that shortstop Andrus barehanded and threw to first. The close play brought manager Ron Washington out of the dugout to question first base umpire Marty Foster.
Montero then hit an apparent inning-ending grounder, but the ball went under Moreland's glove and into right field, setting up Overbay's double to center that made it 4-1.
"Stuff happens, but you've got to get the next guy out," Feldman said. "I didn't do that tonight."
Feldman was gone after Montero and Overbay had consecutive doubles to start the sixth. Aaron Hill and Ryan Roberts had one-out singles before Parra's fifth homer.
Feldman gave up six runs, four earned, and eight hits. The big right-hander struck out six, including all three batters in the first, and didn't issue a walk.
David Murphy homered for Texas in the seventh, a two-run shot that was his seventh this season. Murphy has hit the Rangers' only two homers over the past four games.
Notes: Rangers leadoff hitter Ian Kinsler was ejected by home plate umpire Eric Cooper in the sixth after a called third strike. The ejection actually came after Kinsler went to the dugout and a pitch had already been thrown to Andrus. At that point, Kinsler went to the top steps of the dugout and shouted a few more words toward Cooper before flashing a sarcastic thumbs-up signal. ... Gibson missed his son's high school graduation in Michigan on Thursday night. "You're supposed to graduate," Gibson said. "His mom and the rest of the family will be there. He's coming to see me next week." ... Gibson moved CF Chris Young up from sixth in the batting order to leading off hoping to create a spark. Young was 0 for 5, but made two impressive catches. He recovered after getting turned around in the second on Murphy's deep fly ball, and to the deepest part of the park in right-center to catch Nelson Cruz' fly ball near the warning track in the seventh.