St. Louis Cardinals Matt Holliday scores before the tag by Arizona Diamondbacks catcher Tuffy Gosewisch in the first inning at Busch Stadium in St. Louis on May 26, 2015. Photo by Bill Greenblatt/UPI

St. Louis Cardinals Matt Holliday scores before the tag by Arizona Diamondbacks catcher Tuffy Gosewisch in the first inning at Busch Stadium in St. Louis on May 26, 2015. Photo by Bill Greenblatt/UPI

Randal Grichuk homered and drove in two, Jhonny Peralta also drove in two runs for the Cardinals, who answered Arizona’s two-run first inning with a four-run first of their own as the Cardinals improved to a major league-best 30-16, with a 6-4 win over the Diamondbacks. Jaime Garcia won for the first time since June 15, 2014.

“It probably wasn’t my best,” Garcia said. “It’s been a long time but I try not to think about it that way.”

Garcia gave up all four runs, three earned, in his first three innings.  He allowed eight hits in six innings with no walks.  That was an improvement over the five free passes he issued in his first start against the Mets.  He threw 91 pitches in six innings.

The offense bailed him out.  Matt Holliday had an RBI single and double and has reached safely in 42 consecutive games to start the season, matching former teammate Albert Pujols (2008) for the longest streak in the majors since 2000.  The Cardinals roughed up Arizona starter Archie Bradley for six runs in 3.2 innings.

The bullpen came up big.  In the seventh, Matt Belisle struck out Yasmany Tomas with the bases loaded to end the seventh and then Tomas grounded out to end the game with the tying runs in scoring position off Seth Maness, who earned his third save in four chances.  Tomas had two doubles and three RBIs for Arizona.