Jack Flaherty gave up two runs over seven innings as the Cardinals beat the Pirates 5-4 in St. Louis.

The right-hander gave up six hits and walked none while striking out six to pick up the win.

Tyler O’Neill started the scoring for the Cards in the third with a solo homerun. Dexter Fowler would go deep in the fifth to extend the lead to 2-0. St. Louis would add another in the sixth as Yadier Molina, starting his 16th opening day with the club, would drive in Paul Goldschmidt. Goldschmidt would score again in the eighth on Paull DeJung’s homer.

Kwang Hyrn Kim would survive giving up two runs, one earned, in the ninth for his first save.