PHOENIX — After a three-game losing streak in which the Arizona Diamondbacks came up empty too often with opportunities to drive in more runs, hitting coach Darnell Coles changed things up in batting practice on Monday.
The emphasis on situational hitting worked hours later.
Eduardo Escobar homered, tripled and drove in three runs, Christian Walker also went deep and the Diamondbacks cruised to a 9-3 win over the Pittsburgh Pirates.
"It was more the things we worked on in spring training, kind of getting back to the basics of just getting a good pitch to hit, understanding what to do when you get a guy on second (base) with less than two outs," Coles said. "Trying to get something, or at least staying disciplined enough to get a pitch that you can do whatever job needs to be done."
Robbie Ray (3-1) overcame a rocky first inning to allow one earned run and six hits over five innings. He recorded his 800th career strikeout when he fanned Pirates pitcher Nick Kingham to end the top of the fourth inning.
Ray reached 800 strikeouts in 125 career games, the second fastest for a left-handed pitcher in terms of appearances to reach the milestone. He did it in the third-fewest innings pitched — 664 — according to the Elias Sports Bureau.
"Anytime you hit those milestones it means you're doing a lot right," Diamondbacks manager Torey Lovullo said. "He's done that a long time, that's what it tells me."
David Peralta had two hits, including his National League-leading 16th double, and drove in two runs. Alex Avila reached base four times and drove in a run.
"When we got a guy in scoring position, we did our job," Peralta said. "It's always good to try something different. It worked really well today."
The Diamondbacks have a nine-game regular-season win streak against the Pirates and are 13-1 in the last 14 meetings.
Arizona rallied from a 2-0 deficit against Kingham (1-1). In his second start after opening the season in the bullpen, Kingham gave up seven runs and 10 hits in four innings.
"They put some good bat on the ball, laid off some really tough pitches, made me work. It's a tough lineup to face," Kingham said. "I feel that everything they were swinging at they were touching pretty good. One of those nights where it doesn't go my way."
The Diamondbacks' three-run second inning featured Escobar's two-run triple. He homered to right field in his next at-bat in the fourth.
Arizona scored in each of the first five innings, including on a balk by Pirates reliever Michael Feliz in the fifth.
Josh Bell, Bryan Reynolds and Melky Cabrera drove in a run each for the Pirates, whose three-game winning streak was stopped. Bell extended his hitting streak to a career high 13 games.
Walker's eighth home run of the season led off the bottom of the seventh, his first since April 22, also against Pittsburgh. All of his home runs this season have come in the seventh inning or later.
TUCKER COMES HOME
Pirates shortstop Cole Tucker started in his first major-league game in his hometown for the 22-year-old Phoenix native. Despite going 0 for 3 and striking out twice, he drew loud cheers from many in the crowd of 15,418, which was the smallest of the season to date at Chase Field.
The Diamondbacks called up RHP Jimmy Sherfy from Triple-A Reno before Monday's game, after Jon Duplantier was sent down one day earlier.
It's Sherfy's second call-up to the majors this season, and he's appeared in parts of three seasons for the Diamondbacks. He entered Monday's game in the seventh and loaded the bases on threes straight singles, then struck out the next three Pirates to escape unscathed.
Pirates: INF Jung Ho Kang was placed on the 10-day injured list with a left side strain, and the Pirates called up former Diamondbacks utility man Jake Elmore from Triple-A Indianapolis. ... RHP Jameson Taillon (flexor strain) was transferred from the 10- to the 60-day injured list.
Pirates: RHP Joe Musgrove (1-4, 4.20 ERA) seeks to rebound after allowing 13 earned runs in his last two starts. He had given up a total of six in the five starts before that.
Diamondbacks: RHP Luke Weaver (3-1, 2.98 ERA) has allowed one run or fewer in four of his last five starts, and has a win over the Pirates earlier this season.