Foy was born in
St. Helens,
Lancashire, and first started refereeing in 1983. In 1994, he was promoted to
the Football League list of
assistant referees and progressed to the
Premier League assistant referees' list in 1995. Earlier in that year Foy was appointed
fourth official for the
FA Trophy final at
Villa Park, where
Canvey Island defeated
Forest Green Rovers 1–0. He was also fourth official during the international
friendly match when
England lost 2–1 to
Italy at
Elland Road in March 2002, and in May 2006 for the
Football League Championship play-off between
Leeds United and
Watford, the latter winning 3–0. Nine days after the Championship play-off he was fourth official again when England played
Hungary at
Old Trafford, the home team winning 3–1. Foy subsequently retired from international activities at the compulsory age of 45 in 2007. In 2007, he was selected to referee the
FA Trophy final at
Wembley Stadium between
Stevenage Borough and
Kidderminster Harriers. The match was won 3–2 by Stevenage, with Foy issuing four yellow cards. In 2008 Foy was chosen to carry out fourth official duties at the
FA Cup final between
Portsmouth and
Cardiff City at Wembley Stadium, with
Mike Dean refereeing. Foy refereed the
2009 Football League Cup Final between
Manchester United and
Tottenham Hotspur, with United securing victory on penalties after a goalless draw. He also took charge of the
2009 FA Community Shield later that year, contested by Chelsea and Manchester United, with Chelsea winning 4–1 on penalties after extra-time finished 2–2. Foy's highest refereeing honour was to officiate the
FA Cup final in 2010, won 1–0 by Chelsea and during which he issued three cautions to
Portsmouth players and awarded Portsmouth a
penalty kick which was missed by
Kevin-Prince Boateng four minutes prior to
Didier Drogba's winning goal. Foy retired from professional refereeing at the end of the 2014–15 season to become a senior referees' coach for the
Professional Game Match Officials Board, working under
Howard Webb. ==Personal life==