Hayhurst was born in Longridge, Lancashire and grew up supporting Preston North End. He played for Longridge Town before joining Preston North End U14. There, Hayhurst started his career in the youth system at Preston, and while in the club's academy, Hayhurst suffered an injuries setback, which he broke both of his leg. Hayhurst initially thought that injuries could have cost him getting a professional contract. Eventually, Hayhurst signed a two-year apprenticeship in the summer of 2010. On 28 April 2012, he made his professional debut in a 2–2 draw with Charlton Athletic, coming on as a late substitute for David Gray. On 23 February 2013, he scored his first goal for the club, in a 1–1 draw against Swindon Town. He scored his second goal for the club on 2 March, in a 1–1 draw away to Milton Keynes Dons and his third goal came on 9 March 2013, in a 2–0 win over Stevenage, to make it three goals in three appearance for Hayhurst. Hayhurst later had his fourth goal for the club on 9 April 2013, in a 2–0 win over Oldham Athletic. On 18 April 2013, the club activated their options to extend Hayhurst's contract for another year. At the end of the 2012–13 season, Hayhurst signed a new two-year contract with the club in June 2013. Hayhurst described signing a new contract with the club as "living the dream". Hayhurst joined League Two club York City on 27 January 2014 on a one-month loan, making his debut the following day as a 55th-minute substitute for Lanre Oyebanjo in a 2–0 home defeat to Chesterfield. On 3 March 2014, Hayhurst extended his loan spell with York until the end of 2013–14. Hayhurst then scored his first York goal, in a 1–0 win over Torquay United on 25 March 2014. Hayhurst went on to make 18 appearances for York.
On 13 January 2015, Hayhurst signed for Notts County on an 18-month contract. Upon joining Notts County, Hayhurst stated joining the club could help him gain fitness, having appeared less in the first half of the season at Preston. Hayhurst made his Notts County debut four days later on 17 January 2015, in a 2–1 win over Crewe Alexandra. He was released by the club at the end of 2015–16.
International career
Though Hayhurst was born in England, Hayhurst was eligible to play for the Republic of Ireland national team through his grandmother. Hayhurst revealed that he made no appearances for the Republic of Ireland national under-17 team because of a leg injury, prevented him from making his Ireland U17 debut. Hayhurst was called up to the Republic of Ireland under-19 team for the games of the Elite Round of the UEFA U19 Championship qualifying campaign. He was capped twice at this level, with his debut coming in a 2–2 draw with Switzerland on 6 June 2013. Hayhurst was then called up by Republic of Ireland under-21 team in October 2013. He made his debut as a seventieth-minute substitute in a 1–0 home defeat to Romania on 15 October 2013; this was the first of two caps at under-21 level.
Personal life
In June 2013, Hayhurst talked about his daily life as a footballer.