The
Philadelphia Athletics purchased Peck from the Brewers on August 17, 1944 for four players and $20,000. After playing in two games in 1944, Peck entered the
1945 Philadelphia Athletics season as the team's everyday right fielder after winning the job in
spring training. In the first week of the season, he hit .367 and led the Athletics to six wins in their first eight games, which raised expectations of the team for the season. The Athletics finished the season with 52 wins, and Peck ended his 112 games played with a .276 batting average and nine triples. During the offseason, he worked in the dairy business with his father-in-law. In 1946, he wanted a $2,500 raise despite admitting he had not played well the prior year, and was denied; he ended up signing with the team at the end of March, missing most of spring training as a result. Peck remained the starting right fielder through the first part of the season, hitting .247 in 48 games. On June 19, the Athletics sold Peck to the
New York Yankees. Despite the purchase, Peck never played a game for the Yankees. He returned to Wisconsin after fighting a bout of
influenza, and did not recover fully by the end of the season. On December 6, the
Cleveland Indians acquired Peck,
Gene Bearden, and
Al Gettel from the Yankees in exchange for
Sherm Lollar and
Ray Mack, which paired Indians owner Bill Veeck with the player he once called his favorite prospect. Peck was named the starting right fielder for 1947, and held that position throughout the season. Near the start of the season, from April 22 to May 11, he hit in 13 straight games. In a game against the
Chicago White Sox on May 30, Peck hit two home runs and had five RBIs during the first game of a doubleheader to give Cleveland the 8–4 win. In 114 games for the Indians, the highest of his career, he finished the season with a .293 batting average, eight home runs, and 44 RBIs. In 45 games, Peck had a .286 batting average in 63
at bats. He also appeared in Game 5 of the
1948 World Series to replace
Walt Judnich in right field, his only appearance during the Indians' World Series victory. After he recovered in July, he was originally planned to be sent to the
San Diego Padres of the
Pacific Coast League, but he was placed back on the Indians' main roster for the rest of the season. Peck finished the season with a .310 batting average in 29 at bats over 33 games, and his last MLB appearance was on September 25. ==Later life==