The left-footed Welsh wrote the club asking for a trial run and made his professional debut for Stockport County in October 2001, going on to make 75 league appearances in his four-year stint at the club. His final match was a 3–0 loss to Sheffield Wednesday in League One. He also made six appearances on loan at Macclesfield Town in 2002.
After impressing in a three-day trial with Sunderland in November 2004, Welsh signed with the club for £15,000, and could have included a compensation for amount of time on the field stipulation to £35,000. Upon signing for Sunderland he was assigned the vacant number 11 shirt, and made his club debut on 1 January 2005 in a 3–2 defeat to Preston North End, replacing Marcus Stewart in the 68th minute. He score two goals in eight appearances during the 2004–05 season for Sunderland.
Welsh made his first start for Sunderland a week later on 8 January 2005, scoring a free kick in a 2–1 victory against Crystal Palace. Welsh went on to make eight appearances that season, scoring again, against QPR at Loftus Road on 2 April.
After Sunderland's promotion to the Premier League, Welsh retained the number 11 shirt, starting the season in place of injured defender George McCartney. However, Welsh was controversially sent off in only the second game of the season against Liverpool at Anfield on 20 August 2005, although the decision was later overturned on appeal.
Welsh found himself out of the Sunderland team after Christmas, and many thought he had played his last game for the club after he was loaned to Championship club Leicester on 1 March 2006. Welsh went on to make ten appearances for Leicester, scoring one goal,helping to stave off relegation for the Foxes.
Four days after playing his last game for Leicester, Welsh was back at Sunderland, playing in the club's last two games, against Fulham and Aston Villa, under new caretaker manager Kevin Ball. Following the transfer of popular midfielder Julio Arca to Middlesbrough in the summer, Welsh was expected to start the season as first choice winger, however injury hit early on in pre-season.
Welsh picked up an injury during a pre-season win against League of Ireland club, Shelbourne, prompting Quinn and new manager Roy Keane to sign Swedish winger Tobias Hysen and Celtic midfielder Ross Wallace to fill the left-midfield role. Welsh subsequently re-joined Leicester on loan when he regained fitness, although he managed only four league starts for them, and returned to Sunderland in the New Year. Coincidentally, Sunderland's next game was against Leicester at the Walkers Stadium, where Welsh was named as an unused substitute.
After failing to break back into Sunderland's first team, it was announced in March 2007, that Welsh would be heading to Canada for a medical before signing a contract with Major League Soccer (MLS) club, Toronto FC, after the clubs agreed a deal to end his contract at Sunderland.
On 16 May 2007, Welsh scored his first goal for Toronto in a rain soaked 1–0 home win over defending MLS champions, Houston Dynamo. Fans subsequently voted him "Man of the Match" on the club's official website. However, after the first few games Toronto struggled to find points hard to come by, Welsh was in and out of the team and soon decided to return to England.
On 30 August 2007, it was reported that Welsh would be leaving Toronto for Blackpool, whom he signed for the following day. During the 2007–08 season he made 21 appearances in the Championship, mostly as a substitute. On 7 May 2008 he was released by Blackpool.
In August 2008 Welsh went on trial at Football League One club Yeovil Town. On 3 September, Yeovil manager Russell Slade confirmed that the club had a verbal agreement to sign Welsh with him due to have a medical at the club the following day. Welsh signed a contract with the club until the end of the 2008–09 season. Welsh played 38 games for Yeovil in his first season, he became a bit of a fans favourite when the team went on a 4-game winning streak the team scoring 4 goals direct from his set pieces. He ended the season with Yeovil's most assists on 7 and most crosses on 80, in his 38 appearances.
At the end of the 2008–09 season, Welsh signed a new two-year deal keeping him at the club until the summer of 2011. In the 2009–10 season Welsh started well and was the divisional top goal maker with 7 assists. However, formation changes saw him slip out of the side a bit, making most of his appearances from the subs bench. However, he was Yeovil's leading creator for the second consecutive season with 10 assists. He also scored his first two goals for the club, in the 2 – 0 win over Brentford and the 4 – 1 win over Wycombe.
Welsh scored in his second game of the season 2010–11 against local rivals Exeter City FC a stunning low volley and then a header against Tranmere Rovers FC two weeks later. Welsh again has been one of Yeovil Town FC outstanding performers this season leading the way in assists again and also scoring some important goals. Welsh recently secured Yeovil's league one status for another season with an 85th-minute equaliser at home to Oldham Athletic the day after his first child was born.
At the end of the 2010–11 season, he and six other Yeovil players were told they would be re-signed.
On 1 June 2011, Welsh became Greg Abbott's first signing of the summer when he joined Carlisle United on a two-year deal. It was revealed on 27 May 2013 that Welsh was not going to be offered a new contract and would no longer be a Carlisle United player come the end of the 2012/13 season.
On 24 June 2013, Andy Welsh become Scunthorpe United's 5th signing of the summer where he has signed a one-year deal for the league two club with an option of a further year.
On 12 September 2014, Andy Welsh signed for FC United of Manchester. In December 2014, Welsh made the move to Farsley AFC, closer to his home in Bradford..
In September 2017, Andy Welsh became player/head coach at Ossett Albion.As of matches played on 28 August 2013.
1.^ Includes FA Trophy matches.
Welsh is a Manchester United supporter.