Winchester came through the Linfield Academy 'Linfield Rangers', alongside his twin brother, Jude. He played for Linfield Rangers before making his first team debut for Linfield as a substitute on 1 May 2010 against Portadown. He studied at Corpus Christi College, on the Falls Road in Belfast.
After visiting Oldham Athletic on trial in April 2010, along with Ryan Burns, he agreed to join the club in late April and then joined the club in May 2010 on a two-year scholarship. He made his senior debut for the club on 6 November 2010, starting the FA Cup first round match against Accrington Stanley. He followed this up on 20 November making his Football League debut for the club, playing the full match in a 1–0 victory at Dagenham & Redbridge. He scored his first goal for the club in the last match of the 2010–11 season on 7 May 2011. He has become a regular starter and also a fans favourite due to his energetic runs and versatility. He has played at right back, right midfield and even in a more central midfield role during his time at Oldham. He was offered a two-year professional contract by the club in May 2011, which it was announced he had signed at the end of June. The one – year option that the club had on Winchester's contract was exercised, extending his contract till the end of the 2014–15 season, with manager Lee Johnson stating that the club would be looking to loan him out next season to somewhere that could offer him a lot more game time than Oldham could currently offer him, as well as stating that he believed "there was a real player in there somewhere". However, after a string of excellent performances at the start of the 2014/15 season, Winchester established himself in the first team, making 23 appearances by Christmas. And on 17 January 2015, Winchester scored his third goal for the club against Fleetwood in a 2–0 win, with an excellent curling effort. Continuing his fine form throughout what was seen as his breakthrough season, playing primarily in midfield, On 2 March 2015, Winchester signed a new two and a half year deal until the end of the 2017 season with Oldham Athletic.
Winchester signed for Cheltenham Town on 12 January 2017 on a free transfer. Winchester made his debut for Cheltenham Town on 14 January 2017 in a 3–0 home win against Accrington Stanley. He was substituted in the eighty-first minute for Kyle Storer.
In May 2018, Winchester signed for Gloucestershire rivals Forest Green Rovers on a two-year contract.
International career
Already a Northern Irish under-16s international, he made his under-17s international debut on 17 March 2010 in the UEFA Under-17s Championship elite round match against Spain, followed up by matches against Poland and Belgium later that week. In August 2010 he was called up to the under-18s team and played all three matches for them in an international tournament in Poland. In February 2011, Winchester was called up to the Northern Ireland under-21s team Winchester earned his first cap for the Northern Ireland U-21s against Wales U-21 on 9 February 2011 aged just 17. In March 2011 he was called up for the Northern Ireland under-19s team for the first time. He made his debut at under-19s level on 11 April in a friendly against Slovakia, scoring one of the three Northern Irish goals in the match, his first goal for his country. On 13 May 2011 he was again called up to the Northern Ireland under-21s as a squad member against Faroe Islands in a Euro qualifier on 31 May. Seven days later he received his first call up to the senior Northern Ireland national football team for the Celtic Cup matches against Republic of Ireland and Wales on 24 and 27 May. In the Republic of Ireland match he was an unused substitute as Northern Ireland lost 5–0 before making his debut as a substitute for the full international team on 27 May against Wales. In June 2011 he received his first call-up to the Northern Ireland under-20s team, alongside teammate Kirk Millar for July's Milk Cup tournament. In September 2011, Winchester was called up to the Northern Ireland under-21s for the European Championship qualifiers against Serbia U-21s and Denmark U-21s, Winchester was an unused substitute against Serbia U-21s in a 1–0 defeat. Winchester started and played the full game in a 3–0 defeat to the Denmark U-21s team in the Euros Qualifier.