How I Test My Lactate Threshold: Real Numbers From My Running and Bike Tests

    By Bryan Collins·Ironman finisher and Norwegian Method practitioner. Writes the first-hand training posts on MyTriathlonCalculator.·Reviewed May 2026

    I do a fingertip lactate test every 6-8 weeks - one on the turbo, one on the run - to find the wattage and pace where blood lactate climbs past about 2 mmol/L. I use those numbers (not Garmin's algorithmic guess) to set my easy, aerobic, and threshold ceilings.

    • •Bike turbo test (1101 session): 4.8 mmol/L at 180W and 130-135 bpm - my LT2 ceiling.
    • •Run test (April 3): retaken 7:18/mi read 3.7 mmol/L; LT1 band sits around 8:00-8:20/mi at 145-153 bpm.
    • •Garmin estimated 4:32/km at 158 bpm - the lab numbers said that pace was already over threshold for me.

    Why I bother with a needle when Garmin gives me zones for free

    Garmin tells me my VO2max is 54 and my lactate threshold pace is 4:32/km at 158 bpm. That estimate is built from heart rate, pace, and a model. It is not a measurement. When I actually drew blood at 4:32/km equivalent paces, the lactate told a different story - I was running over threshold, not at it.

    The Norwegian Method, as I run it, leans on a hard distinction between LT1 (the first rise in blood lactate above resting) and LT2 (the sustainable threshold ceiling). Most of my volume sits just below LT1. Two quality sessions a week sit at or just under LT2. If I get those two anchors wrong by even 10 watts on the bike or 20 seconds per mile on the run, I either junk-mile the easy days or blow up the hard ones.

    Algorithmic zones from a watch cannot tell me which side of LT1 I am on today. A finger-prick during a step test can. That is the entire reason I keep buying strips. Six to eight weeks is the cadence - long enough for adaptations to show up, short enough that I am not training off stale numbers. I also accept that the readings drift a bit from session to session (hydration, prior day's load, even where on the finger you prick), so I treat any single point with a grain of salt and trust the shape of the curve over any one value.

    My bike test on the turbo (session 1101, TrainerRoad)

    Four steps, three minutes per step, finger-prick at the end of each. I trust steps 1 and 2 fully. Step 3 I trust. Step 4 I am less confident on - it was the hardest to draw cleanly and the number is high enough that I would not bet a training block on the exact value.

    StepPowerHeart RateLactateZone State
    1120W102 bpm2.3 mmol/LFalse high (nerves / warmup)
    2140W110 bpm1.9 mmol/LBase / aerobic
    3160W120 bpm3.0 mmol/LTempo / sweetspot
    4180W130-135 bpm4.8 mmol/LThreshold / VO2

    Step 1 (120W, 2.3 mmol/L). The 2.3 there is a classic false high. I had not properly warmed up, and the first prick of any session reflects sympathetic activation more than work rate. I ignore it.

    Step 2 (140W, 1.9 mmol/L). This is the one that anchors the bottom of my aerobic band. Lactate dropped below 2 mmol/L despite higher power - that is the actual base state.

    Step 3 (160W, 3.0 mmol/L). The jump from 1.9 to 3.0 across 20 watts is the LT1 inflection. Anything above this is tempo and is too costly to repeat day after day.

    Step 4 (180W, 4.8 mmol/L). Past 4 mmol/L. This is over LT2 for me. I would not hold this for an interval; I would aim 10-15 watts under it. That is why my actual threshold target sits around 130-135 bpm, not 140+.

    My run test on April 3

    Outdoor run on a flat loop, Coros armband for HR, five increasing-pace efforts. Max HR 179 bpm, resting 42 bpm average. I take a finger-prick at the end of each effort with a short walk between - which, as I will get to in a second, is the test's biggest weakness.

    PaceLactateNotes
    10:19/mi3.3 mmol/LContaminated - discarded
    9:51/mi2.8 mmol/LLow aerobic
    8:30/mi3.1 mmol/LJust over LT1
    7:52/mi3.7 mmol/LTempo zone
    7:18/mi3.7 mmol/LRetaken - most accurate reading

    The 10:19/mi reading at 3.3 mmol/L was contaminated - sweat on the fingertip, almost certainly - and I threw it out. If I had taken it at face value I would have set my easy pace too slow and trained junk miles for a month.

    The 7:18/mi reading is the one I trust most. It came back at 3.7 mmol/L on the retake - identical to 7:52/mi, which on first read looks wrong. The likely explanation is that I am clearing lactate well between steps, so the absolute readings sit 0.3-0.5 mmol/L lower than they would in a continuous test. Two paces 34 seconds apart producing the same number tells me the curve is flat through that band, not that the test is broken.

    What a flat lactate curve actually tells me

    "Good clearance capacity" sounds like a coaching cliche. Here is what it means in plain terms: when I push pace from 7:52 to 7:18, my muscles do not flood with lactate. The curve does not spike. That is the adaptation aerobic base training is supposed to build - your body burns lactate as fuel almost as fast as you produce it, so you can hold tempo paces without going acidic.

    The downside of a flat curve is the test becomes harder to read. A textbook lactate test shows a clear inflection - lactate doubles between two steps. Mine ticks up slowly, so I have to triangulate using heart rate and effort, not lean on a single "this is LT2" number. The April test put my LT1 band around 8:00-8:20/mi at 145-153 bpm. That is conservative. I would rather train slightly under than slightly over.

    My current training bands

    These are the numbers I actually train to, taken straight from the bike and run tests above:

    Bike

    • Easy: under 130W, under 110 bpm
    • Aerobic: 135-150W, 110-120 bpm
    • Threshold (target): 130-135 bpm, sitting under the 4.8 mmol/L ceiling - in practice that is around 155-165W on this test, but I'd train around 130-135 bpm rather than chase the watt number
    • Threshold cadence: one main session, plus one light threshold session every 10-14 days

    Run

    • Easy (Garmin Z2): 106-123 bpm, around 9:30-10:00/mi
    • Norwegian threshold band: 8:00-8:20/mi at 145-153 bpm
    • Mid-January 4x1200s reference: I held threshold by HR 148-155 bpm before the April test refined it

    Heart rate, not pace, is the ceiling on the run. Pace varies with wind, gradient and how my legs feel. HR is the truth-teller. If I am pushing 7:30/mi and HR drifts past 155, I back off - I have crossed LT2 and the session has changed character.

    If you want to sanity-check the kind of pacing these zones produce on race day, the triathlon pacing strategy guide covers how I translate threshold numbers into bike-leg watts and run-leg pace targets for half and full distance.

    Retest cadence and what I am watching for

    Every 6-8 weeks. My next run retest is scheduled three to four weeks out from the April test - a tighter window than usual because I want to track whether the threshold band has shifted faster than the resting/max numbers.

    What I am watching for:

    • The 1.9 mmol/L step on the bike pushing from 140W to 145-150W at the same heart rate - that would mean LT1 has moved up
    • The 7:18/mi reading dropping below 3.5 mmol/L, or holding 3.7 mmol/L at a faster pace
    • Resting heart rate trending under 42 bpm during taper weeks
    • The shape of the curve staying flat - a sudden steep curve back would tell me I have over-cooked the threshold work

    The point is not to set personal bests on the test itself. The point is to confirm the training is working, recalibrate the bands, and get a clean number to train to for the next six-week block. Without the test I would be running off Garmin's estimate - and Garmin would be telling me to do my threshold work at a pace where my actual lactate says I am cooking myself.