Elson was born in Leamington Spa, Warwickshire, England. He won the British Boys' Championship before turning professional in 1973. He was that year's European TourSir Henry Cotton Rookie of the Year. He was a consistent player, finishing between 38th and 64th on the European Tour Order of Merit every year of his tour career, which lasted until 1982, but he never won a European Tour event. He played on the European Seniors Tour in 2004.