What makes Annaf's story particularly good is how it unfolded. Bought as an unraced two-year-old from another yard, he took his time to develop, picking up his first win at Newcastle in January 2022. Then, in the winter of 2023, something clicked. He won at Kempton in January, then won at Lingfield in February — both at Class 1 or 2 level — before going on to win the Listed Kachy Stakes at Lingfield, one of the top sprint races run on an all-weather track in Britain. As trainer Michael Appleby put it, he has clearly improved with age. He backed that up with a further Class 1 win at Ascot in October 2023 and then again at Ascot in October 2025, which suggests this is no fluke — he saves his best for the biggest stages.
The conditions tell their own story too. On wet or soft ground he has won 2 from just 3 races — a remarkable two-thirds success rate. On slow ground it is 2 from 4, and on normal conditions 3 from 9. He is not a fair-weather performer; if anything, the harder the conditions, the more he seems to relish it. Lingfield Park has become something of a favourite venue, with 2 wins from 4 visits there.
His partnership with jockey Rossa Ryan is worth highlighting. In 12 races together they have won 5 times — that is nearly 1 in every 2, an extraordinary record. After Annaf's win in Riyadh, Appleby joked it was all down to Ryan, though he also noted that the horse keeps surprising everyone and that international wins like that genuinely put a yard on the map. With Ascot already ticked off again in October 2025 and Saudi Arabia reportedly on the radar, Annaf at seven years old is arguably racing better now than at any point in his career.
| Course | Races | Results | Last visited | Win rate |
|---|---|---|---|---|
| Newcastle Galloping |
7 | 2 wins, 3 seconds, 1 third, 1 other | 28 Jun | 28.6% |
| Ascot Galloping |
6 | 2 wins, 1 third, 3 other | 4 Oct | 33.3% |
| Haydock Park Galloping |
5 | 1 third, 4 other | 6 Sep | 0% |
| Lingfield Park Sharp |
4 | 2 wins, 1 second, 1 third | 2 Feb | 50% |
| Newbury Galloping |
3 | 1 third, 2 other | 16 May | 0% |
| York Galloping |
3 | 3 other | 23 Aug | 0% |
| Goodwood Undulating |
3 | 1 third, 2 other | 2 Aug | 0% |
| Doncaster Galloping |
2 | 1 win, 1 other | 28 Mar | 50% |
| Kempton Park Galloping |
2 | 1 win, 1 second | 19 Jan | 50% |
| Newmarket Galloping |
2 | 2 other | 26 Aug | 0% |
| Sandown Park Galloping |
1 | 1 other | 8 Jul | 0% |
| Salisbury Undulating |
1 | 1 third | 24 May | 0% |
| Chester Tight |
1 | 1 other | 12 Jul | 0% |
| Leicester Sharp |
1 | 1 other | 25 Apr | 0% |