The Cardinals pulled the infield in and Berry hit the first pitch he saw from Victor Marte (0-1). The ball bounced over Marte and past second to end the game.
Joaquin Benoit (1-1) got the win after one inning of one-hit, one-walk relief but about everyone pitched well for the Tigers. Detroit starter Jacob Turner allowed one run on four hits over five innings.
The Tigers bullpen gave up just two hits the rest of the way with four relievers combining for five innings, walking one and striking out six.
St. Louis tied the score when Turner walked Rafael Furcal with one out in the fifth. Furcal advanced to third on a Skip Schumaker doubled and scored on Matt Holliday sacrifice fly in foul ground down the right-field line.
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need
Jordana Brewster on Paul Walker: 'He was an enormous presence in my life'