Purcell was a member of both Dublin University Swimming Club and the Dublin Swimming Club. As a swimmer he won four Irish Amateur Swimming Association championship titles between 1911 and 1920. In 1911 and 1912 he won the titles over 880 yards, in 1919 he won the 220 yards gold medal and in 1920 he was champion over 440 yards. In 1913 and 1921, as a water polo player, he won two Leinster Senior Cups with Dublin University. He also helped Dublin University win an All Ireland title in 1920. In a 1921 Leinster Senior League game against Pembroke, Purcell scored all four goals for Dublin University in a 4–2 win. Purcell also represented Leinster at provincial level.
At the 1920 Summer Olympics, Purcell was a member of the Great Britain team that won the gold medal. It was originally intended that Great Britain would be represented by the England national team. However, in a final trial game, England were beaten 6–0 by a Rest of Great Britain team featuring Purcell. This subsequently saw Purcell included in the Olympic squad. Although representing Great Britain, pictures from the Olympics, show Purcell wearing a swimming costume with a shamrock and the word "Ireland" on it. In the Olympic final, Great Britain beat Belgium 3–2 to win the gold medal. Other members of the team included Charles Sydney Smith, Paul Radmilovic, Charles Bugbee, Christopher Jones, William Peacock and William Henry Dean.
Purcell played for Ireland from 1910 to 1932. At the 1924 Summer Olympics he captained the Ireland team. Having previously represented Great Britain in 1920, Purcell now became the first Olympic athlete to represent two different nations. In the quarter final against Czechoslovakia, Purcell scored twice as Ireland lost 4–2. Purcell was also selected to represent Ireland at the 1928 Summer Olympics. However he declined because of his business commitments as a solicitor. He also wanted to give younger players the opportunity to play at an Olympics. Purcell also represented Ireland at the Tailteann Games.
Purcell played club rugby union for both Dublin University and Lansdowne. He was club captain at Lansdowne for the 1919–20 and 1920–21 seasons. He also represented Leinster at provincial level and toured with the Barbarians.
Purcell refereed the 1927 Five Nations Championship match between England and Scotland. As a referee, he was not as fast around the field as he had been as a player. A match report in The Times noted "NM Purcell from Ireland refereed casually and from a great distance." Between 1939 and 1941 Purcell also served as selecter for Ireland.