He signed with the St. Louis Cardinals afterwards and made his major league debut two days before his 27th birthday. He made an immediate impact, not only scoring 9 triples his rookie year, but also leading the league in sacrifice hits with 26.[2] His 1938 season was not as impressive, but he did manage to increase his batting average over .300.[2] Brown had a career year in 1939, not only leading the league in at-bats with 645, but finishing 6th in MVP voting.[2] He began being known as a reliable leadoff hitter and as an infielder that the Cardinals could put anywhere, having played 1936 primarily as a second baseman, 1939 as a shortstop, and 1941 as a third baseman.[2]
After a decent season in 1940, he came back with another great year in 1941, tying a career high in triples with 9, earning a career high batting average with .306, and finishing 4th in MVP voting.[2] This, however, was still not enough to earn an all-star appearance. In 1942 he managed to earn his lone all-star appearance and finish 13th in MVP voting.[2] Despite this and leading the league in at-bats with 606, his batting average dipped to .256, a career low.[2] Despite this, during the 1942 World Series, he led all Cardinals' hitters in batting average with .300 en route to their World Series victory.[3]
Brown enlisted in the United States Army Air Forces after playing 34 games during the 1943 season.[4] When World War II ended, his contract was sold for $30,000 on January 5, 1946, to the Pittsburgh Pirates; he played the 1946 season as a utility infielder before being released by the Pirates on November 15.[5]
After leaving Boston in 1952, he was a manager for minor league teams in the farm systems of the Cardinals, Braves and Cincinnati Reds. He died December 29, 1977, in Bath, North Carolina.