He played for Darlington, Sheffield Wednesday, Birmingham and Chelsea in the Football League, making nearly 200 appearances in total. Having scored at a goal every two games for Darlington, Gregg joined Sheffield Wednesday before the 1928-1929 season, and contributed to them winning that year"s First Division championship. The following season he lost his place to the high-scoring Harry Burgess, and in January 1931 he joined Birmingham for a fee of £2,200.
He played his part in that season"s campaign, and "scored" a goal in the 1931 Final which was disallowed for offside.
He moved on to Chelsea in September 1933 for a fee of £1,500, finishing his career with Boston United in the Midland League and with Sligo Rovers in Ireland during the Second World War. with Sheffield Wednesday.