2025 ended up being my highest mileage year ever with 2,300 miles run (2,301.5, to be exact). I did a post like this a couple of years ago and honestly loved the opportunity to dive into my running year and break it all down so if anyone else does read this and likes it, that is great but this is one of those posts where I’m fine if I am the only one to ever read it. 🙂
Running 2,300 Miles in 2025
Breaking It Down
I’m going to break it down by month and highlights but right from the top, here are the top level numbers for what the year looked like:
- 2,301 miles run in 2025
- 191 miles average per month
- 44 miles average per week
- 6.3 miles average per day
I ran a total of 261 times in 2025 so that breaks down to 8.8 miles per run. I ran an average of 7.2 hours per week so its like an hour a day of exercise.
As I entered 2025, I didn’t really have any big goals or races in mind. I was considering doing the Grand Raid Diagonale des Fous in Reunion Island but I had to get picked in the lottery and then run qualifying races for that to happen, so it wasn’t a lock.
However, in March (on my birthday, actually) I found out I was in – I just needed to do two 50 mile trail races that would have a minimum of 5,000 feet of elevation gain to lock up my qualifying points. I picked two such races in May so that gave me about 6 weeks to train for them. Not a ton of time but I had been doing a decent amount of running (I did my annual “run my age” but in kilometers on my birthday, so that was a 27 mile run) so I just needed to ramp it up.
So, let’s dive into the months to see some of that information and highlights of where I ran.
January
19 Runs | 133 Miles | 8:53 per mile average | 11 miles was longest run

It was cold and snowy out!
January in western NY is just cold and windy and snowy/icy! But, that is part of living here! I am not a big treadmill fan so I did all but 13 miles of my runs this year outside and January was no different.

My running pace was pretty decent for the conditions. That would change as I started doing ultra training as it matters more about time on feet than speed.
In January for the first time, I also did a work commute. I have to go in to work a few times a week and it is like due south of me so I thought I would give it a go. It is just a bit over 11 miles and has about 600 feet of gain. In the winter, it is not uncommon to mostly have a southerly or westerly wind so that doesn’t help much on it. 🙂
This year, I did a total of 33 of these commute runs.
Nothing overly special this month – just dealing with the snow.
February
22 Runs | 156 Miles | 9:01 per mile average | 14 miles was longest run

February was a better month in terms of running since it was a shorter month yet I increased the mileage and runs. Still just running in snow and cold, nothing too special this month!


Yes, that’s me way down there.
March
26 Runs | 225 Miles | 9:10 per mile average | 27 miles was longest run
March was the month that I started adding miles to my weeks. It was also a month to break from the cold weather as we headed down to Florida to visit family for a week. The sun had been a huge and pleasant change!
I ran the 27 miles on my birthday to do my age in kilometers and it worked out perfectly because I needed to pick up a car at the airport so I ran from my place to the airport – perfect distance. It took me 4 hours and 20 minutes to go the 27 miles, a pace of 9:40 per mile.
The day after my birthday, I flew to Romania for a weekend work trip. I was able to get a couple of runs in while in Cluj and it was, as always, awesome to get to see some of a new city from the ground.

Cluj, Romania
On my way home, I had a long layover in Munich. I decided to head out and do a 14 mile run around the area of the airport and beyond. In the US, lounges don’t have luggage lockers but most European lounges have lockers. I changed into my running clothes, took a running vest with my passport, phone, and water and headed out.

I had a preplanned route but running out of a major airport isn’t always that easy! Still, it was a great run and fun to go through some of the village areas around the airport as well as do some plane spotting on the way back.

April
26 Runs | 237 Miles | 9:07 per mile average | 15 miles was longest run
Now I knew I would be running the 100+ miler in Reunion and that I also had two 50 milers in May so I took my training load up a bit. While winter in western NY can be harsh, springtime is beautiful and a wonderful time to run – just not on trails! 🙂

Most of the time – the second week in April, we still had some snow and a windchill of -4 degrees
In April, I had to go to New York City for a tech launch event and flew into LaGuardia. Rather than take a normal mode of transportation, I packed my change of clothes into my running pack and I ran the 7 miles from LGA to the event at Grand Central. It is fun to do and a nice way to see places in a different way. Here is a post with more info and my route.

May
16 Runs | 185 Miles | 11:35 per mile average | 51.5 miles was longest run
This was the big month! On May 10, I ran the Glacier Ridge Trail 50 Mile race in Pennsylvania. It gave me a great chance to reconnect with an old running buddy as well. The problem was that I was prepared to run this in my road shoes (which they said was very doable) since I had had some heel issues before and wanted to run in the shoes I felt comfortable in.
But, that week before the race, they got hammered with rain so I had to wear trail shoes I threw in my car at the last minute. The problem? They were trail shoes I had not worn in over 2 years and I forgot how terrible the cushioning was. This race had a lot of rocks and it was just killing my legs.
I went from loving it to just enduring it. I didn’t have to get any particular race time (or, so I thought – later for the 100 miler, this specific race time was used for corral seeding which hurt me) so just planned on finishing it. I finally got it done in my worst 50 mile time ever – 13 hours and 11 minutes for a 15:23 per mile pace. I literally went from the finish line to my car to drive the 3.5 hours home.

The beautiful trails in PA
I had a short time for my legs to recover from the pounding and lack of cushion in the shoes and get ready for the next one two weeks later.
This one was at a race I had done before, just over the border in Canada. It is an awesome race and has 4 loops of 12.5 miles per loop. This was also very muddy so I switched between a couple of trail shoes and ended up doing most of the race in the shoes I used for Reunion Island.
This race went better – I did it in 10 hours and 48 minutes for a pace of 12:51 per mile. I had a friend crewing me at this one as well and that really helped.

I ended the month doing some runs with my kids, including with my oldest son as he did an awesome job on his first Murph Challenge.
June
22 Runs | 171 Miles | 9:07 per mile average | 19.5 miles was longest run
Nothing big in June – it was my down month before I was going to start my training for the 100 mile race in October. Was in Ohio for work so did some running there which is always nice to be able to break up the routine a bit!
July
27 Runs | 262 Miles | 9:39 per mile average | 21.3 miles was longest run
This was where the training for the Grand Raid 100 miler really started! This was my highest volume month of the year (it should have been more for the race but I did what I could with the time I had).
I started back to back long-ish runs with 20+ mile runs and 14+ mile runs the next day. I also started doing hill repeats to try to train for the 36,000 feet of elevation gain that was going to be in the Grand Raid. My home area is so flat that it was a terrible place to train for that! 🙂
More runs with my kids which is always a thrill for me!

August
28 Runs | 260 Miles | 9:27 per mile average | 26.3 miles was longest run
My wife and I went to Florida for a vacation so running in Florida in August was definitely a nice way to heat train a bit! Also started doing more back-to-back long runs and double run days.

The heat and humidity is a really bad combination for me. I love heat but the humidity is just a lot to handle, especially where I live. So, August kind of beat me up a bit.
A fun thing I did in August was to run across the Canadian and US border. It was just a short run of 5 miles but I had always wanted to do that and a quick trip over the border provided the perfect time to do it.


September
21 Runs | 201 Miles | 9:40 per mile average | 32 miles was longest run
For September, I had a small, local 6 hour run I participated in as a way to get some long run miles in and not be by myself. This was good and I ended up doing 32 miles in 6 hours. I really worked hard to take it easy so I wasn’t trashed for more miles the next week. That came out to a 11:09 per mile pace, something I was happy with.

September was also a great month as our family got to head back to Greece where we had spent so many years. It was a blast to run some new routes in a new city (Corinth) but also run some of the familiar routes I have done dozens of times over the years.

October
13 Runs | 190 Miles | 23:09 per mile average | 117.5 miles was longest run
Yes, my average pace per mile took a major hit! This was because of the Grand Raid race on Reunion Island. I have a full post and video about that which you can see here. But, I did get hurt around mile 45 and decided to just finish it to finish it so it took me hours longer than it should have. But, I was able to complete it which was a real thrill for me!
This was an unbelievable race to be able to do for sure but I am not going to spend time here on it since I have the video and post! But, it ended up being 117 miles and took me 61 hours and 55 minutes to cross the island and its 36,000 feet of elevation gain.


Near the top of the Mafate

The finish line
November
16 Runs | 94 Miles | 9:50 per mile average | 9 miles was longest run
Thanks to my injury during the race in October, it was almost 4 weeks before I was cleared to run again. This meant my mileage for November took a huge hit! November was all about slowly building back. But, it was a blast to do a Thanksgiving race with my kids – we didn’t all run together as they have different paces but I got to run with one of my sons which was great.

December
25 Runs | 173 Miles | 10:00 per mile average | 21.6miles was longest run
In December, I knew I was going to beat my best mileage year ever (2,200 miles)but I really wanted to get to 2,300 so that was what December was all about! I was still recovering and rebuilding so kept the pacing slow and didn’t do a ton of volume. The weather was not cooperative at all but that’s part of the run of the challenge of winter running!


Wrap Up
2025 was a great year for running – lots of runs with all my kids, running in a few different countries, getting to run one of the toughest 100 milers in the world – definitely a fun year!
This year, I did go into with some definite race plans. I am about to start training for a PR (personal record) in the marathon in May. I haven’t really trained for a marathon in 7 years so this should be fun. Also, I am signed up to go back to the place of my first 100 mile race and gunning for a sub-24 hour time there, maybe even lower.
So, we will see how all of this training translates to overall miles for the year! If you made it this far, thanks for reading along and feel free to share some of your running highlights from 2025!
