Verlander (7-4) won his second straight start despite walking four batters, matching a season high. The Tigers ace also worked around five hits to allow only one run through six frames.
The right-hander was touched for two unearned runs on left-fielder Quintin Berry's error in the seventh. He struck out three batters to raise his MLB-best total to 106.
The Cardinals' Lance Lynn (10-3) absorbed the loss, yielding five runs on nine hits before exiting after five full frames.
Matt Holliday got the only RBI for St. Louis.
Britney Spears debuts 'Perfume' video
Wisconsin business offering 'therapeutic cuddling' forced to close