ST. LOUIS -- Seattle manager Eric Wedge might have known it was only a matter of time before St. Louis' snoozing offense finally exploded.
"You look at those top five guys in their order and they all are something," he said. "They put it together today."
And perhaps at just the right time for a Cardinals team locked in a fight with Pittsburgh and Cincinnati for the National League Central title.
Exploding for 19 hits, nearly as many as they had in the past week, the Cardinals remained tied for first with Pittsburgh after a 12-2 rout of the Mariners Sunday at Busch Stadium.
Yadier Molina homered and went 4-for-5 with three runs and an RBI for St. Louis (87-62), while Matt Carpenter and Matt Holliday each went 3-for-5 with a run and two RBIs. Every starting position player except third baseman David Freese knocked in a run, and Freese reached base three times, scoring twice.
Coming into Sunday's game, the Cardinals managed just 25 hits in the previous five games, including only three in Saturday night's 4-1 loss to the Mariners. Their Sunday stroll through the Seattle pitching staff left them just two hits shy of their season high, a 21-hit attack on July 14 against the Chicago Cubs.
With a seven-game road trip starting Monday night in Colorado, St. Louis has a good matchup in hitter-friendly Coors Field.
"I'm excited for our offense to go in there and see what they can do," Cardinals manager Mike Matheny said, "but I'm a little concerned for the pitching. You just want them to focus on one pitch at a time. Hopefully, we can find a way to get some wins."
The Cardinals blew open a 1-1 game in the bottom of the fourth against Erasmo Ramirez (5-2), scoring four runs. Daniel Descalso's bases-loaded single put them ahead for good, followed by Carpenter's two-run, two-out single and Holliday's RBI infield hit.
St. Louis made it a laugher with four more in the fifth. Matt Adams crashed a two-run homer to center, his 14th of the year. Descalso followed with a run-scoring double and Jon Jay poked a two-out RBI single to center.
"I think what you saw out there were good, grinding at-bats," Matheny said. "Our guys knew they were facing someone who likes to make you expand the zone. They had good patience and put good swings on the ball."
Shelby Miller (14-9) pitched the first five innings for the win, allowing just three hits and two runs, one earned. It's the most wins for a St. Louis rookie since Dick Hughes garnered 16 in 1967.
Miller said he felt strong enough to work another inning, but after throwing 59 of his 95 pitches over his last two frames, he understood why he was removed.
"There's still a lot of baseball left," he said. "The offense made it easy for us today. Obviously, Seattle has a great lineup, but when our guys are hitting like they were ... this was a fun day."
The Cardinals added three more runs in the seventh on Holliday's double and a two-run single by Carlos Beltran.
Franklin Gutierrez went 2-for-4 with an RBI single for Seattle (66-83) and Abraham Almonte added a sacrifice fly in the fifth, but it wasn't enough to keep the Mariners from losing for the sixth time in seven games.
Meanwhile, St. Louis packed for the road after reducing its magic number for a playoff spot to six.
"This is a fun time of year," Beltran said. "A lot of teams would like to be where we are. We're in a good position, but we have to finish the last two weeks strong."
NOTES: Seattle SS Brad Miller missed Sunday's game after suffering a mild hamstring injury in the fifth inning of Saturday's win. His status for Monday night's contest in Detroit wasn't known. ... Carpenter became the first MLB player since 2008 to accrue 50 doubles, 115 runs and 180 hits in a season when he doubled and scored in the eighth inning Saturday night. The feat's only been accomplished 36 times in MLB history, with Boston's Dustin Pedroia the last one to do it in 2008. ... St. Louis rookie C Audry Perez made his MLB debut in the top of the eighth inning, relieving Molina for the last two innings.