|Date of birth||3 October 1968|
|Place of birth||Bolton, England|
|Height||6 ft 2 in (1.88 m)|
|* Senior club appearances and goals counted for the domestic league only.
He started with Bolton Wanderers as a trainee, but moved to Rochdale in 1987 and made his Football League debut with them, going on to play 205 League games for the club. He transferred to Bristol City in 1991 for £200,000 and went on to play 321 times for them before moving on in 1999.
He spent the next three seasons at Northampton Town making 127 appearances before leaving in 2002. As of January 2010 he had the third-longest spell for consecutive minutes keeping a clean sheet at Northampton, having managed 467 minutes in 2000.
He signed for Tranmere Rovers in Summer 2002, primarily to act as cover for John Achterberg, but he suffered a groin injury on his opening-day debut against Port Vale. He made his second Tranmere appearance on 21 September 2002 against Crewe Alexandra, but he dislocated his shoulder in the game, and was substituted for Tranmere's goalkeeping coach Eric Nixon. This was to be his final appearance for Tranmere although he went on to have further short spells that season with Torquay United and Mansfield Town. He made his final Football League appearance on 29 March 2003, for Mansfield against Peterborough United, and he was subsequently released by Mansfield that summer.
- "Keith Welch". Soccerbase: Players. Racing Post. Retrieved 24 August 2011.
- Football League Career Stats at Neil Brown - Rochdale players
- Northampton's Chris Dunn not looking for personal glory, BBC 27/01/10
- "Mathias keeping dilemma". Liverpool Daily Post. Trinity Mirror North West & North Wales Limited. 23 September 2002. Retrieved 30 July 2012.[dead link]
- Rollin (eds), Glenda & Jack (2003). Sky Sports Football Yearbook 2003-04. Headline. ISBN 0-7553-1228-7.
- Player lay-offs no cause for alarm, Independent 3/06/2003