Eckstein's two-out blast, his fourth hit and third double of the night, deflected off the fingertips of Detroit leftfielder Craig Monroe as he dived despairingly.
The World Series may also not be just out of reach of the Tigers.
The Cardinals took a 3-1 lead in Major League Baseball's best-of-seven final and can clinch their 10th title, the first since 1982, by winning game five, also in St Louis, on Friday.
But the Tigers, seeking their first title since 1984, and Cardinals know the fragile nature of a 3-1 Series edge.
Detroit beat St. Louis in the 1968 Series by winning the last three games and the most recent team to blow a 3-1 Series lead was St. Louis in 1985.
|Monroe close, but not close enough|
The Cardinals broke a 4-4 deadlock when Miles reached on a fielder's choice, took second on a dropped third strike that went through the catcher's legs and scored on Eckstein's hit.
Adam Wainwright retired Detroit in order in the ninth for the save that touched off a wild celebration from a sellout crowd at the Cardinals' first-year ballpark.
Two Detroit fielding blunders helped the Cardinals seize a 4-3 lead in the seventh, the first coming when Tigers centerfielder Curtis Granderson slipped and fell going after a fly ball to give leadoff hitter Eckstein a double.
St. Louis inserted outfielder So Taguchi as a pinch-hitter and the Japanese standout delivered a perfect bunt down the first-base line.
Tigers' pitcher Fernando Rodney grabbed the ball but his throw sailed over the outstretched arm of Placido Polanco covering first base, allowing Eckstein to score the tying run and Taguchi to take second base.
It was the fourth error in as many games by Detroit's pitching staff, an ignoble Series record.
Adam Wainwright fires up
After being postponed from Wednesday due to rain, the game was only the fourth in 12 days for the Tigers, who swept Oakland in the American League final for a week's layoff before starting the World Series.
The Tigers seek their first World Series title since 1984 after 12 losing seasons in a row, including an American League-record 119 losses in 2003.
The Cardinals would have the worst record of any World Series champion after a late-season fade to 83-78 that nearly cost them a playoff spot.