Grichuk hit a go-ahead three-run home run with two outs in the seventh inning for a 5-3 lead, and he followed Tommy Pham's two-run pinch single with a two-run double in a five-run eighth. Grichuk's career high in RBIs is six.
The Cardinals (37-41) loaded the bases with one out in the eighth on an infield error, a single and a walk before Pham singled in two runs. After Pham stole second, Grichuk doubled in two more and scored on Stephen Piscotty's double to make it 10-3.
Paul Goldschmidt and Jake Lamb had bases-empty homers and Gregor Blanco had a double, a triple and an RBI for the D-backs (50-30), who lost their second straight home game for the second time this season. They are 30-12 at home in their franchise-record start.
Lance Lynn (6-5) gave up three runs on four hits in six innings, benefiting from Grichuk's homer to get the victory. He struck out seven and walked one
Jedd Gyorko had two hits and Jose Martinez had a two-run single for the Cardinals, who have won four of five.
Lynn retired the first seven he faced before Ketel Marte doubled in the third inning and scored on a double by Blanco, who broke an 0-for-17 slump. Marte's hit was his first with Arizona since being recalled Wednesday. He was obtained in the Taijuan Walker-Jean Segura offseason deal from Seattle.
Grichuk and Gyorko singled around a walk to Piscotty to load the bases with no outs in the fourth inning before Martinez hit a two-run single for a 2-1 lead.
Arizona starter Patrick Corbin struck out two while pitching out of a bases-loaded, no-out jam to leave it there.
Goldschmidt led off the fourth inning with his 19th homer to tie it at 2. He leads the majors with 66 RBIs.
Blanco tripled to open the sixth inning and after Goldschmidt was intentionally walked with one out scored on Jake Lamb's RBI forecourt to make it 3-2.
Corbin gave up two runs and five hits in six innings. He struck out six and walked two.
Lamb hit his 18th homer with one out in the ninth inning.
NOTES: Arizona OF A.J. Pollock (groin) is scheduled to play a rehab game at Triple-A Reno on Friday, but general manager Mike Hazen said Pollock is unlikely to be activated during the homestand that ends Sunday. Arizona OF Yasmany Tomas (groin) has begun a rehab assignment in the rookie Arizona League. ... Cardinals 2B Alex Mejia was 0-for-2 in his major league debut after being recalled from Triple-A Memphis on Wednesday. ... Arizona recalled rookie INF Ildemaro Vargas from Triple-A Reno and returned RHP Braden Shipley to Reno before the game.