After service overseas with the Canterbury Infantry Battalion in World War I, Dan McBeath made his first-class debut on Christmas Day 1917 for Otago against Canterbury, opening the bowling and taking 6 for 52 and 3 for 50. Transferring to Canterbury in 1918-19, he was the leading wicket-taker in the Plunket Shield, taking 25 wickets at an average of 17.68. In the match against Auckland he took 15 wickets: 9 for 56 and 6 for 112. Canterbury won the PlunketShield.
In 1919-20 and 1920-21 he played four matches for Southland, taking 35 wickets at an average of 8.45. He took 7 for 59 when Southland lost by an innings to Otago, and made 32 and 28 not out as well as taking 7 for 66 and 4 for 28 in the return match to give Southland their only first-class victory. The next season, he took 8 for 84 and 5 for 8 against Canterbury, and 4 for 51 in a rain-ruined match against the touring Australians. He was selected for both matches New Zealand played against Australia at the end of the season, and took six wickets. At this stage in his career he had played 11 first-class matches and taken 81 wickets for 1133 runs at an average of 13.98.
Canterbury and Otago, 1921-22 and 1922-23
Playing for Canterbury in 1921-22 he took 8 for 96 against Auckland. He took 12 wickets in two matches for Otago in the Plunket Shield in 1922-23, and played in the third of three matches New Zealand played against the MCC, taking three wickets.
Canterbury, 1923-24 and 1926-27
Returning to Canterbury in 1923-24, McBeath took 17 wickets in the Plunket Shield. He played both matches for New Zealand against New South Wales, taking seven wickets. He took 14 wickets at 15.78 in the Plunket Shield in 1924-25, including 6 for 32 against Otago. He played in both matches New Zealand played against Victoria, taking 5 for 89 in the first innings in Wellington. He toured Australia with the New Zealand team in 1925-26, playing in two of the state matches, with moderate success. His last first-class match came when he was still only 29, in 1926-27, when he took four wickets for Canterbury against Wellington.