Stafford was born in Thompson, Connecticut. In 1887, at the age of 19, he started his professional baseball career in the Eastern League.[2] He then moved over to the Worcester Grays of the Atlantic Association for the next few years. During this time, Stafford was mainly a pitcher but also played as an outfielder occasionally. He had his best pitching season in 1888, when he went 16–7 with a 2.87 earned run average.[2]
After a short stint in the Players' League in 1890, Stafford went to the Western Association in 1891 and then the California League in 1892.[2] In 1893, he was acquired by the National League's Giants. He had given up pitching by this time. While Stafford never put up good hitting numbers in the Major Leagues, he was versatile in the field. With the Giants, he was mainly an outfielder in 1893; a third baseman in 1894; the starting second baseman in 1895; and an outfielder again in 1896.[3]
Stafford was traded to Louisville in May 1897 and was a shortstop for the remainder of the season. He also slugged a career-high seven home runs, which was the sixth-best total in the league.[3] After 1897, Stafford had short stints with Boston and Washington before retiring in 1900. Overall, he played 571 games in the majors, including 251 as an outfielder, 161 as a second baseman, and 131 as a shortstop.[3]