PITTSBURGH (AP) Jarrod Dyson watched the ball hit the dirt and bolted for home, an impressive read by the veteran speedster.

He saw the play at plate better than some, too.

Dyson slid around catcher Francisco Cervelli and signaled that he was safe, but he was only credited with the go-ahead run after a replay review. That dash-and-dive was the difference in the Arizona Diamondbacks' 2-1 win over the Pittsburgh Pirates on Tuesday night.

Dyson was originally called out by plate umpire Gerry Davis, but a quick video review showed that Dyson stretched his left hand out on his head-first dive and touched the plate before Cervelli's glove reached his back.

The scoring play was made even more difficult because Dyson had to hold up as Pirates first baseman Josh Bell made a backhanded stab at the ball, but missed. When Adam Frazier corralled it at deep second, he hesitated a moment before throwing home. That was all the time that Dyson needed.

"The thing that really stood out to me was that it was a line drive and Jarrod had to freeze or get back on a line drive," manager Torey Lovullo said. "He did that and then made a great, aggressive play once he reloaded and saw the ball was not caught."

"These are the game where small things happen," Arizona outfielder Adam Jones said. "We win by one run and it was on a great baserunning play by Dyson. I don't think anyone else could score on that."

Weaver (2-1) struck out seven and won his second straight start. He worked into the seventh inning for the second time this season, going 6 1/3 innings while allowing one run. After dealing with traffic in his first three innings, he faced the minimum over the next three.

"Finally, I felt like it clicked and things kind of flowed together, and came with it more confidence and more conviction," Weaver said.

After allowing four earned runs in 4 1/3 innings in his first start of the season, things have steadily progressed for Weaver. He has struck out 24 batters over his last 22 2/3 innings, and his ERA is down to 3.33.

"He's not backing out of any situation," Lovullo said. "He believes in all of his pitches. When you follow that game plan and do that kind of a job, you're obviously going to pitch deep into games."

Jones doubled to score Eduardo Escobar in the second, his team-leading 16th RBI.

Both runs went against Williams (1-1), who threw seven innings. He struck out four and walked one. Williams faced the minimum through three and allowed just four hits.

"It was one of those classic pitchers' duels that I think everyone was really enjoying," Lovullo said.

Cervelli doubled home Colin Moran in the second inning for Pittsburgh. The Pirates went 1 for 10 with runners in scoring position.

It was the first game this season the Pirates lost when Williams started, despite it being one of his better outings.

"It's baseball," he said. "We're going to be giving up some runs and the offense is going to pick us back up. It's the ebbs and flows of a season."

Pirates: OF Bryan Reynolds was removed from the game as a precaution with left quadriceps muscle discomfort. ... RHP Nick Burdi was placed on the 10-day IL with right biceps and elbow pain a day after a frightening injury on the mound. ... SS Kevin Newman (right middle finger laceration) started his rehab assignment with Triple-A Indianapolis and went 1 for 3.

UP NEXT

Diamondbacks: RHP Merrill Kelly (1-2, 4.37 ERA) will try to bounce back from his shortest outing of the season, when he gave up three runs over 3 2/3 innings on April 19.

Pirates: Jordan Lyles (2-0, 0.53) has allowed just one earned run over his first three starts.