The current season tells the story clearly enough: 38 winners from 283 rides, which works out at roughly 1 in every 7 races. That is a solid, professional rate, and it reflects a jockey who is busy, trusted, and delivering. The bulk of that work comes through the family operation — he has ridden 242 times for the Jonjo and A.J. O'Neill yard and turned 34 of those into wins, a win rate of around 14%, or just under 1 in every 7. There is obvious chemistry there, built on trust and the kind of shorthand that only comes from working closely with people who know a horse as well as you do.
But it would be wrong to think of him as simply a yard jockey riding out his seasons in quiet competence. O'Neill Jr. has won 16 top-level races across his career, at some of the most demanding venues in British racing — Cheltenham, Sandown Park, Newbury, and most recently Ascot, where he landed a Class 1 race in December 2025. These are the biggest stages the sport offers, and he has shown repeatedly that he can perform on them. Sixteen wins at that level is not luck; it is a calling card.
Then there is Catterick Bridge. It is not the most glamorous track on the calendar, but O'Neill Jr. has turned it into something of a personal fiefdom — 6 winners from just 10 rides there, which means he has won 3 in every 5 races he has contested at the course. For context, that is an extraordinary conversion rate. Most good jockeys are delighted to win 1 in 5 anywhere. At Catterick, he is winning more than half the time, which suggests either a deep understanding of that particular track or simply that he arrives there in exceptional form. Either way, punters who ignore his name in the Catterick entries do so at their own risk.
| Course | Races | Wins | Win rate |
|---|---|---|---|
| Haydock Park | 20 | 3 | 15% |
| Aintree | 18 | 2 | 11.1% |
| Warwick | 13 | 1 | 7.7% |
| Chepstow | 13 | 0 | 0% |
| Windsor | 12 | 3 | 25% |
| Ludlow | 11 | 1 | 9.1% |
| Cheltenham | 11 | 1 | 9.1% |
| Catterick Bridge | 10 | 6 | 60% |
| Uttoxeter | 10 | 2 | 20% |
| Newbury | 10 | 0 | 0% |
| hereford | 9 | 1 | 11.1% |
| Ffos Las | 9 | 1 | 11.1% |
| Wetherby | 8 | 1 | 12.5% |
| Carlisle | 8 | 1 | 12.5% |
| Stratford-on-Avon | 8 | 0 | 0% |
| Huntingdon | 7 | 2 | 28.6% |
| Ascot | 7 | 2 | 28.6% |
| Worcester | 7 | 1 | 14.3% |
| Kelso | 6 | 1 | 16.7% |
| Leicester | 6 | 1 | 16.7% |
| Musselburgh | 6 | 1 | 16.7% |
| Sandown Park | 6 | 1 | 16.7% |
| Kempton Park | 6 | 0 | 0% |
| Exeter | 6 | 0 | 0% |
| Ayr | 6 | 0 | 0% |
| Taunton | 5 | 1 | 20% |
| Lingfield Park | 5 | 1 | 20% |
| Punchestown | 5 | 0 | 0% |
| Newcastle | 5 | 0 | 0% |
| Southwell | 5 | 0 | 0% |
| Fontwell Park | 4 | 1 | 25% |
| Sedgefield | 4 | 1 | 25% |
| Wincanton | 4 | 0 | 0% |
| Bangor-on-Dee | 3 | 1 | 33.3% |
| Newton Abbot | 3 | 1 | 33.3% |
| Doncaster | 3 | 0 | 0% |
| Market Rasen | 2 | 0 | 0% |
| Fairyhouse | 1 | 0 | 0% |
| Plumpton | 1 | 0 | 0% |