James Milner has made the most Premier League appearances, with 658. He passed Gareth Barry's 653 when he made his 654th appearance on 21 February 2026.
The official all-time leader
Milner sits at the top of the Premier League's official all-time appearances list. He is 5 appearances clear of Barry's old record of 653.
| Rank | Player | Appearances |
|---|---|---|
| 1 | James Milner | 658 |
| 2 | Gareth Barry | 653 |
| 3 | Ryan Giggs | 632 |
| 4 | Frank Lampard | 609 |
| 5 | David James | 572 |
| 6 | Gary Speed | 535 |
| 7 | Emile Heskey | 516 |
| 8 | Mark Schwarzer | 514 |
| 9 | Jamie Carragher | 508 |
| 10 | Phil Neville | 505 |
This is the standard reference point for the league's appearance record in the Premier League era. It is the official historical ranking, not a club-specific or position-specific count.
When Milner broke the record
The record changed hands on Saturday 21 February 2026. Milner started for Brighton & Hove Albion away to Brentford, and Brighton won the match 2-0.
That start was his 654th Premier League appearance. Barry's old mark was 653, so Milner became the outright leader that day.
What the record means now
In official Premier League statistics, Milner is first and Barry is second. Ryan Giggs, Frank Lampard and David James follow behind them on the all-time list.
Milner made 20 Premier League appearances in 2025/26 and none so far in 2026/27, so his record total stands at 658.
FAQ
Who broke Gareth Barry's Premier League appearance record?
James Milner did. He passed Barry when he made his 654th Premier League appearance on 21 February 2026.
How many Premier League appearances does James Milner have?
The official all-time ranking lists him on 658. That is the current figure used for the record.
Who has played the most games in Premier League history?
James Milner holds that spot on the official all-time appearances table. In Premier League records, that is the same record as most appearances.
Which match took Milner past Barry?
It was Brighton & Hove Albion away at Brentford on 21 February 2026. The official result was Brentford 0-2 Brighton, and Milner started the game.

