Wagner grew up in the East Riverton area, and attended Riverside High School before transferring to Palmyra High School, where he played both baseball and basketball before graduating in 1934. He attended Duke University where he played baseball under former major leaguer Jack Coombs. He played center field during his first season at Duke, before converting to catcher. After hitting.380 in 1937, his junior year at Duke, he signed with the Athletics organization. Wagner then played for three different minor league teams – in 1937 he was with the Portsmouth Cubs of the Class B Piedmont League, in 1938 the Spartanburg Spartans of the Class B South Atlantic League, and in 1939 the Newark Bears of the Class AA International League. He appeared in a total of 153 games for those teams, batting.299 while hitting 4 home runs. He also made 39 appearances for the Athletics during these seasons.
Major League Baseball
Philadelphia Athletics
Wagner's MLB debut came on the final day of the season – during the second game of a doubleheader against the Washington Senators, Wagner caught the top of the 5th inning. He recorded one putout, the second out of a double play on a throw home from right field. But he did not have a plate appearance, as the game was called due to rain after the bottom of the 5th inning. Early in the season, Wagner had his first plate appearance – again playing the Washington Senators, Wagner caught the bottom of the 8th inning, then flied out for the second out of the top of the 9th inning. He would not appear in another game with the Athletics until August, spending much of the year with Spartanburg. Wagner rejoined the Athletics in early August, and had his first MLB hit on August 20 against the New York Yankees – as a pinch hitter in the 9th inning, he hit a single off of Monte Pearson. Wagner played in most of the Athletics' games from late August through the end of the season, ending with 33 games played and batting.227 with 8 RBI. Defensively he appeared as catcher 30 times, with 22 complete games, and.972 fielding percentage. Wagner spent most of the season with Newark. In just 5 games with the Athletics – 2 in April, 1 in May, and 2 in June – he batted.125 and defensively caught just 1 complete game. Over the next four seasons, Wagner saw his playing time with the Athletics increase – 34 games in, 46 games in, 104 games in, and 111 games in. For those four years he batted an overall.236 while catching in 263 games, 184 of them complete games. Wagner hit his first MLB home run during the final game of the 1941 season, in the second game of a doubleheader against the Boston Red Sox on September 28, a doubleheader better remembered for Ted Williams going 6-for-8 to finish the season with a.406 batting average. For the 1942 All-Star Game, Wagner was added to the American League roster, when Bill Dickey of the Yankees was unable to play due to injury, however Wagner did not appear in the game. He hit especially well during much of 1943, batting.300 as late as mid-August, however he hit poorly over the final weeks of the season – he had just 1 hit in his final 36 at bats – to end the year with a.239 average. Early in the season, Wagner appeared in 5 games with the Athletics in limited duty – four times as a pinch hitter, and once as a late-inning defensive replacement. On May 7 he was traded to the Red Sox in exchange for outfielder Ford Garrison, as the Red Sox were concerned that their number one catcher Roy Partee might get drafted into wartime military service. In total, Wagner played parts of 8 seasons with the Athletics, appearing in 339 games while batting.234 with 3 home runs and 89 RBI.
Boston Red Sox
Arriving in trade from the Athletics, Wagner played his first game with Boston on May 10, 1944, and received steady playing time in a platoon with the right-handed hitting Roy Partee. During June, for example, Wagner caught 11 complete games and appeared in 3 others, while Partee caught 14 complete games and appeared in 1 other. Wagner hit especially well during July and August, raising his average from.274 on June 30, to.295 on July 30, to.330 on August 27. But with World War II still ongoing, Wagner was called to serve, and on August 28 he joined the US Army. He missed the remainder of the 1944 season, and all of the season, due to his military service. After the conclusion of the war, Wagner was released from the Army in October 1945. Wagner was the Red Sox' number one catcher during, catching 102 complete games of Boston's 154 game schedule, while the team broke a 28-year pennant drought by capturing the American League championship by 12 games over the Detroit Tigers. Although he batted only.230 for the season, he had career highs of 6 home runs and 52 RBI, and was selected to the 1946 All-Star Game, flying out in his one at bat as a substitute catcher during the game. Wagner appeared in five games of the 1946 World Series, but went hitless in 13 at bats against the St. Louis Cardinals, who defeated Boston in seven games. Early in the season, the Red Sox traded Wagner to the Tigers for fellow catcher Birdie Tebbetts, a native New Englander who went on to have 3½ stellar seasons for Boston. At the time of the trade, May 20, neither catcher was hitting very well –.231 for Wagner, and.094 for Tebbetts. Their managers felt a change in home ballpark might benefit both players, which turned out to be accurate, as Wagner hit.288 for Detroit over the remainder of the season, while Tebbetts hit.299 for Boston. Overall, Wagner played in 204 games during parts of three seasons with Boston, batting.264 with 7 home runs and 96 RBI.
Detroit Tigers
Through the end of the 1947 season, Wagner appeared in 71 games with Detroit, batting.288 with 5 home runs and 33 RBI, backing up Bob Swift at catcher. During, Wagner again was in a backup role, and he struggled at the plate, batting.202 with 10 RBI in 54 games through his final appearance with Detroit on September 9 – he was waived by the team shortly thereafter. Over parts of two seasons with the Tigers, Wagner appeared in 125 games while batting.257 with 5 home runs and 43 RBI.
Philadelphia Phillies
Wagner was selected from waivers by the Phillies, and late in the 1948 season he appeared in three games with them – once as a pinch hitter, once at catcher, and once as a pinch runner – and he was hitless in 4 at bats. Early in the seasons, Wagner made just one appearance with the Phillies, as starting catcher in the second game of an April 19 doubleheader against the Boston Braves; he was hitless during the game. It would be his final MLB appearance, as he was released by the Phillies one month later. Wagner's short stay in the National League was a total of four games played, and no hits.
After the majors
Wagner spent most of 1949 with the Toronto Maple Leafs of the Class AAA International League, appearing in 95 games and batting for a.260 average, and then spent 1950 with the Dallas Eagles of the Class AA Texas League, batting.212 in 89 games. After his career, he continue to live in his hometown – he died in 1979 at the age of 64, in nearby Riverside, New Jersey.