Lacy played for Merseyside Schoolboys and Lancashire Schoolboys as a junior, before joining Lancashire Combination side Marine during the 1968–69 season in which he helped them win the Liverpool Senior Non-League Cup and the Lancashire Combination League Cup. While a student at the London School of Economics, Lacy played in the London Universities side which was then coached by the former England and Fulham player George Cohen. Cohen recommended him to his former club, which Lacy joined in June 1971. The central defender made 168 league appearances including 4 as sub and scoring on 7 occasions in his time at Craven Cottage which includes an appearance in the 1975 FA Cup Final. In July 1978 Lacy signed for Tottenham Hotspur for a £195,000 fee, the first time that an independent transfer tribunal had been used to set the fee for a player. He went on to feature in 132 matches, 9 as substitute, and to score 3 goals. He transferred to Crystal Palace in August 1983 where he went on to make a further 27 appearances. In November 1984 he moved to Swedish football. John made 86 appearances for St Albans City F.C. over 3 seasons and managed St Albans City F.C. for the 1987-88 season.