Updated

Zack Greinke says he's feeling good and that has to be a relief to the Arizona Diamondbacks. It surely won't be for the St. Louis Cardinals.

Greinke looks to build on his best start for the Diamondbacks and help them end an eight-game losing streak to the Cardinals on Monday night.

Greinke (1-2, 5.25 ERA) lost his first two starts with a whopping 9.90 ERA, but he's rebounded by allowing three runs with 12 strikeouts in 14 innings over his last two.

The right-hander was particularly impressive Wednesday, yielding one run and scattering six hits while fanning seven in 6 2/3 innings of a 2-1 victory at San Francisco.

"This was definitely the best I've felt all season," Greinke said. "It worked out pretty good.

"I've been working on getting things right. Everything is smoother. My body is starting to do things it's supposed to do instead of doing things wrong."

The three-time All-Star has done little wrong over his last nine starts - including three in the playoffs - against St. Louis, going 5-1 with a 1.93 ERA and 1.02 WHIP.

Greinke has allowed one run in 13 2-3 innings in his last two starts against the Cardinals while with the Los Angeles Dodgers. He got two runs of support in each game, but the bullpen wasted his chances at victories.

Arizona (10-10) has only backed Greinke with five total runs in the last three games, but it's batting .294 with 30 runs while splitting the last four contests.

The Diamondbacks had 15 hits and four homers Sunday but that wasn't enough in a 12-10, 13-inning loss to Pittsburgh. Greinke even got in on the hit parade, lining a pinch-hit single in the 12th before being replaced by a pinch runner.

Welington Castillo is on a tear, going 6 for 14 with four homers, seven RBIs and five runs over his last three games.

Paul Goldschmidt ended his 10-game home run drought Sunday, launching two and driving in three runs. He's 7 for 18 during the past five games after batting .216 through the first 14.

Goldschmidt is a .242 career hitter at home against the Cardinals (10-8), who have won 13 of the past 14 in the all-time series and five straight at Chase Field.

They enter this four-game set in search of a third straight win after beating San Diego 8-5 on Sunday. St. Louis scored 19 runs and hit .370 while winning the last two of that three-game series.

Jedd Gyorko broke out of his slump in a big way while being booed in his first series against his former team. He went 6 for 10 with two homers and four RBIs in the last two games. He came a double short of the cycle Sunday, connecting for a solo homer and his second career triple.

"I hope when I go back to St. Louis they boo me there, too, because it worked out pretty well," said Gyorko, who is 1 for 13 versus Greinke.

Jaime Garcia (1-1, 2.70) would appreciate some help from the offense after getting just one run of support in Tuesday's 2-1 loss to the Chicago Cubs. The left-hander allowed two runs with seven strikeouts and four walks in five innings.

"It's not what I want to do," Garcia said. "Way too short and I've got to do a better job than that next time."

That's not usually a problem against the Diamondbacks, as Garcia has won all five of his starts with a 2.51 ERA. He's 3-0 with a 1.62 ERA in the desert.