Long-serving midfielder Gareth Barry holds the all-time record for appearances in the English Premier League following 24 seasons in the top division with four clubs.

Barry, who debuted in the EPL with Aston Villa in the 1997/98 season, surpassed Manchester United great Ryan Giggs' record of 632 games in 2017 and ended his career several years later on 653 appearances.

His ex-teammate James Milner also went past Giggs and called time on his career at 634 games to sit second on the all-time list.

Giggs' tally is the highest for any one-club player in the English Premier League era, with the Welshman one of four to have surpassed the 600-game barrier ever.

Chelsea legend Frank Lampard retired after 609 appearances spanning stints with the Blues, Manchester City and West Ham.

David James comes in at fifth and is the leading goalkeeper on 572 games, while Australian Mark Schwarzer next in eighth on 514 appearances.

The top 10 for all-time EPL appearances are all retired, with the highest current player being Everton's Ashley Young, whose tally of 453 EPL appearances is 22nd all-time.

Most EPL appearances ever

  1. Gareth Barry (West Brom/Everton/Manchester City/Aston Villa) - 653 games
  2. James Milner (Brighton/Liverpool/Manchester City/Newcastle/Aston Villa/Leeds) - 634 games
  3. Ryan Giggs (Manchester United) - 632 games
  4. Frank Lampard (Chelsea/Machester City/West Ham) - 609 games
  5. David James (Liverpool/Aston Villa/West Ham/Machester City/Portsmouth) - 572 games
  6. Gary Speed (Leeds/Everton/Newcastle/Bolton) - 535 games
  7. Emile Heskey (Leicester/Liverpool/Birmingham/Wigan/Aston Villa) - 516 games
  8. Mark Schwarzer (Middlesborough/Fulham/Chelsea/Leicester) - 514 games
  9. Jamie Carragher (Liverpool) - 508 games
  10. Phil Neville (Manchester United/Everton) - 505 games