Greig was born in Aberdeen, and played Junior football with Mugiemoss before beginning his senior career with Aberdeen F.C. After playing for the reserve team during the 1910–11 season, he made his first-team debut on 25 September 1911, keeping a clean sheet as Aberdeen beat Queen's Park 3–0. The Scotsman reported that "Greig appeared in goal for the home team, and got an encouraging reception, which ultimate events proved to be well deserved." He played 22 times in the 1911–12 Scottish Division One season, fewer in the next, before returning to first-team duties on a regular basis in 1913–14. He remained with the club, appearing infrequently, until the end of the 1916–17 season, when Aberdeen withdrew from the league because of the First World War. He finished his Aberdeen career with 80 appearances in league competition and 7 in the Scottish Cup. He played on loan to Raith Rovers during the war. Greig was one of numerous players recruited by English club Darlington Forge Albion, which was established to represent the town of Darlington in the 1919 Northern Victory League after Darlington F.C. had folded during the war. He was ever-present in that competition, and remained with the club as they adopted the Darlington F.C. name and its place in the North Eastern League. He played in the defeat of First Division club Sheffield Wednesday in the 1919–20 FA Cup, in front of 52,388 spectators at Hillsborough – the Daily Express reported that Greig was "tested with all manner of shots, but always emerged triumphant", and that he and his full-backs were "as sound a defence as one could wish for". He contributed to the team's North Eastern League title the following year, which confirmed the club's invitation to join the new Football League Third Division North. He made his debut in the Football League on 5 November 1921 in a 3–0 defeat of Barrow, and retained his place, keeping John Ward out of the team, until April 1922 when he broke his arm during a match. He regained his regular starting place for the next two seasons, taking his appearance totals to 95 Football League matches and 10 in the FA Cup, but the club's financial problems meant they had to let players leave, and Greig spent time with Shildon before returning to Scotland where he played for Peterhead and Montrose.