Cunningham was born in Dublin. He attended St. Vincent's C.B.S. primary and secondary school in the Glasnevin district. At school, he played more Gaelic football than soccer: he played for St Vincent's at Croke Park alongside future Gaelic star Dessie Farrell in a schools' final, and played for Na Fianna and Dublin Minors. At association football, he played for the Home Farm club from under-9s to under-17s, before moving on to amateur club Tolka Rovers.
Millwall
On 18 September 1989, the 18-year-old Cunningham signed a one-year contract with Millwall of the English First Division. His expectations, to play out the season in England and use the experience to earn himself a good contract back in Ireland, changed when, three months before the end of that "trial" season, Millwall offered him a further two-year contract. He made his Football League debut on 17 March 1990, at right back in the starting eleven in a 1–1 draw away to Norwich City, and started four more first-team games during that season. In five years with the club, he made 136 league appearances.
Wimbledon
Cunningham and teammate Jon Goodman moved to Wimbledon in November 1994, for the joint fee of £1,300,000. Cunningham played 250 league games for Wimbledon. In February 2000, Cunningham was involved in an incident with Chelsea captain Dennis Wise following their match. The Football Association charged Wise with misconduct for the alleged confrontation in the tunnel and fined him £7,500.
Birmingham City
Cunningham moved to Birmingham City, newly promoted to the Premier League, in 2002 for a £600,000 fee. He went straight into the starting eleven, playing at centre back in place of injured captain Steve Vickers rather than his customary right back. He formed a fine defensive partnership with Matthew Upson, who joined in the January transfer window, and at the end of that campaign, his teammates chose him as their Player of the Season. After the first few matches of 2003–04, Birmingham's manager Steve Bruce was describing Cunningham as "on current form ... the best defender in the Premiership". Nicknamed "King Kenny" by the fans, Cunningham had a reputation as an organised solid defender, and Manchester United and Ireland full-back Denis Irwin suggested in November 2003 that, though his ability had been under-rated in the past, "this year ... people are realising how good he actually is". After the club's relegation at the end of the 2005-06 Premier League season, Cunningham and seven other first team players were released. On 11 May 2006, Cunningham launched a scathing attack in the press on Bruce and the board, blaming the club's relegation on a lack of preparation throughout the season and likening the club to a "stiff corpse" that has "no heartbeat and, more worryingly, no soul". While fans were in the main supportive of Cunningham's views, the club reacted furiously, and chairman David Gold wondered "if Kenny would have said the same things if we'd stayed up, Portsmouth had gone down and he'd been given a lucrative new contract".
Sunderland
Cunningham signed for Sunderland on 19 July 2006 with Sunderland chairman Niall Quinn praising his leadership qualities. He made 11 appearances for the Black Cats as they won the Championship, but no more appearances after October when he was made captain by manager Roy Keane before sustaining an injury. He was released at the end of the season, and retired as a player.
International career
Cunningham won a total of 72 caps for the Republic of Ireland national football team. In March 2001, he returned after a long layoff due to injury, replacing Richard Dunne to partner Gary Breen in defence for a match against Cyprus. Cunningham was named team captain after the 2002 FIFA World Cup. According to manager Mick McCarthy: "Kenny's qualities as a player are easy to see. From day one he has been a great influence. He is a talker on the pitch, he organises the players around him, and off the pitch he is a calm influence. He retired from international football after achieving 72 caps at the age of 34 on 12 October 2005, following Ireland's draw with Switzerland at Lansdowne Road, which resulted in his team's failure to qualify for the 2006 FIFA World Cup. Cunningham urged caution following a FIFA rule change allowing players over the age of 21 to switch their international allegiance. Commenting in relation to Ireland's qualifying campaign ahead of the 2010 FIFA World Cup, he said: "It wouldn't be something I'd be hugely in favour of" and "I'd be very disappointed if I was a player in that squad to miss out on the World Cup for somebody who was jumping on board at the last minute".