Birch joined Manchester United as a 14-year-old in May 1946, before turning professional two years later. He was 17 when he made his debut on 27 August 1949, playing at inside left in a 1–1 home draw with West Bromwich Albion. Birch was always on the fringes of the United first team, but apart from a spell midway through the 1950–51 season in which he scored four goals in nine appearances, he never lived up to his potential and was sold to Wolverhampton Wanderers for £10,000 towards the end of the 1951–52 season. His tenure at Wolves was short, however, and he was transferred to Lincoln City after just nine months in the West Midlands.
In three years with Lincoln, Birch played in more than fifty matches, scoring 15 goals. He then dropped out of league football for a season in 1955, joining Boston United, before moving to Barrow in 1956. He became a first team regular at Barrow, making 60 appearances and scoring 27 goals in just over two seasons there. Exeter City signed him in September 1958, but he was on the move again in January 1960, this time to Oldham Athletic. He moved to Rochdale in March 1961, before going into coaching at the end of the 1961–62 season.
He dipped in and out of playing for the next few years, picking up appearances for Boston United, Mossley and Ellesmere Port, but his coaching experience eventually led him to Blackburn Rovers in 1967, where he became the coach to one of the club's junior teams.
Birch was trainer of Galatasaray from 1970 till 1973. He won three consecutive championships with Galatasaray in Turkish First League and Helsingborgs IF.