Clark Fork River Fly Fishing

Clark Fork River
Fly Fishing

This is our biggest river as everything in the Missoula area drains into the Clark Fork on its way to the Columbia. Best thought of in two distinct sections, the upper river east of Missoula begins as a meandering meadow stream that is often overlooked by anglers. This stretch of river does not hold significant trout populations until it is joined by Rock Creek. What it lacks in quantity it more than makes up for in quality. This is great streamer and hopper water for some of the prettiest brown trout you will ever see. Bug life and trout numbers improve after the confluence with Rock Creek and it is soon joined by the Blackfoot and Bitterroot near Missoula to create the broad and inspiring lower Clark Fork. This river offers some of the best “match the hatch” dry fly fishing in the west. Mainly rainbows, cuttbows, and cutthroat congregate in large pods to feed on prolific mayfly and caddis hatches that start in June and run well into October. You will find our largest average size fish here from 16-17”, with opportunities at fish over 20” on a daily basis. And don’t let the slower currents of the Clark Fork fool you, these are the hardest fighting trout around with spectacular jumps and reel screaming runs. Many customers return each year just to hunt the heads up on the lower Clark Fork.

  • Skwala stoneflies (#8-10)
  • Grey Drakes (#12-14)
  • Blue-wing Olives (#18)
  • Midges (#18-22)

There will be some midge fishing early in March, but the Clark Fork really starts to fish well late in the month and into April. Skwalas will motivate the opportunistic feeders, and Drakes and Blue-wings will have the pods of trout looking up especially on overcast days. Late April into May is when this river really shines.

  • Skwala stoneflies (#8-10)
  • Caddis (#12-16)

These hatches aren’t fishable every year, but when conditions allow for it this is some of the most incredible dry fly fishing you will ever see. Hordes of flying Skwalas akin to a Salmonfly hatch descend on the lower river and you can see fish busting dries from hundreds of yards away. Mother’s Day caddis will come off in great numbers on both the lower and upper river, and fish will key on these hatches especially toward the evening.

  • Salmonflies (#4-6)
  • Golden stoneflies (#8-10)
  • Green Drakes (#8-10)

Overall the Clark Fork does not have a great Salmonfly hatch. The two exceptions to this are the upper river from the confluence of Rock Creek to Missoula, and the Alberton Gorge. The Salmonflies on the upper Clark are always the first to hatch and provide a week or two of exciting fishing while the other rivers are still waiting for the big bugs. The Golden stone and Green Drake hatches come off later in the month when water conditions are typically more favorable. June is a real sleeper month for the Clark Fork as most anglers are focused on other area rivers. This provides us with a great opportunity to fish big dries to unpressured trout.

  • Golden stoneflies (#8-10)
  • Green Drakes (#8-10)
  • Pale-morning Duns (#14-16)
  • Caddis (#14-16)

The large stones and drakes will continue to bring fish up early in the month, but as the water drops and clears daily hatches of PMDs and caddis will start to dominate the feeding rhythms. The trout will begin to congregate in the large pods that the lower Clark Fork is famous for with the mayflies as a main course during the day, and caddis on the menu each evening.

  • Grasshoppers (#6-10)
  • Tricos (#18-22)
  • Pale-morning Duns (#14-16)
  • Hecubas (#8-10)

PMDs will continue to trickle off through most of the month, but the prolific morning Trico hatches become the main attraction. These small mayflies have the trout looking up every day of late summer providing opportunities to head hunt and test your skills. The hopper fishing is nothing short of fantastic. The upper river offers plenty of structure to fish big bugs around, and the high grassy banks of the lower river sends countless terrestrials to their demise on long lazy runs. The Hecuba is yet another big meal trout have a hard time passing up. These big Fall Drakes provide some of our best August fishing.

  • Grasshoppers (#6-10)
  • Mahogany Duns (#12-16)
  • Blue-wing Olives (#16-18)

Without question this is THE prime time for the Clark Fork. We continue to prospect with hoppers during non-hatch situations, but every day like clockwork there will be good hatches of Mahoganies and Blue-wings shortly after lunch. Actively feeding pods of 5 to 50 trout are willing to engulf any properly presented fly. From mid-Sept. to mid-Oct. the Clark Fork is arguably one of the best dry fly rivers in the state.

Fish Our Favorites

Clark Fork River Flies

[products columns=”4″ orderby=”title” order=”” ids=”74369, 74780, 74380, 74560″]

Get In Touch

  • This field is for validation purposes and should be left unchanged.

Top
[gravityform id="7" title="false"]
<div class='gf_browser_safari gform_wrapper gravity-theme white-labels_wrapper' id='gform_wrapper_7' > <div class='gform_heading'> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_7' class='white-labels' action='/missoula-fly-fishing-rivers/clark-fork-river-fly-fishing/' > <div class='gform_body gform-body'><div id='gform_fields_7' class='gform_fields top_label form_sublabel_below description_below'><fieldset id="field_7_1" class="gfield gfield_contains_required field_sublabel_hidden_label field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_7_1"><legend class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></legend><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_7_1'> <span id='input_7_1_3_container' class='name_first' > <input type='text' name='input_1.3' id='input_7_1_3' value='' aria-required='true' placeholder='First Name' /> <label for='input_7_1_3' class='hidden_sub_label screen-reader-text'>First</label> </span> <span id='input_7_1_6_container' class='name_last' > <input type='text' name='input_1.6' id='input_7_1_6' value='' aria-required='true' placeholder='Last Name' /> <label for='input_7_1_6' class='hidden_sub_label screen-reader-text'>Last</label> </span> </div></fieldset><div id="field_7_3" class="gfield gfield--width-half gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_7_3"><label class='gfield_label' for='input_7_3' >Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_7_3' type='text' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></div><div id="field_7_5" class="gfield gfield--width-half gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_7_5"><label class='gfield_label' for='input_7_5' >Phone<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_phone'><input name='input_5' id='input_7_5' type='text' value='' class='large' placeholder='Phone Number' aria-required="true" aria-invalid="false" /></div></div><div id="field_7_4" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_7_4"><label class='gfield_label' for='input_7_4' >Message<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_4' id='input_7_4' class='textarea medium' placeholder='Please tell us about what you&#039;re interested in!' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></div></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_7' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_7"]){return false;} window["gf_submitting_7"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_7"]){return false;} window["gf_submitting_7"]=true; jQuery("#gform_7").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_7' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='7' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_7' value='WyJbXSIsIjg3ZWFlYzMwYzIzOTIyODdiYjFkMjkxYzE4MmE1MTg2Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_7' id='gform_target_page_number_7' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_7' id='gform_source_page_number_7' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js" value="178"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityform id="6" title="false"]
<div class='gf_browser_safari gform_wrapper gravity-theme white-labels_wrapper' id='gform_wrapper_6' > <div class='gform_heading'> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_6' class='white-labels' action='/missoula-fly-fishing-rivers/clark-fork-river-fly-fishing/' > <div class='gform_body gform-body'><div id='gform_fields_6' class='gform_fields top_label form_sublabel_below description_below'><fieldset id="field_6_5" class="gfield gfield_contains_required field_sublabel_hidden_label field_description_above hidden_label gfield_visibility_visible" data-js-reload="field_6_5"><legend class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></legend><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_6_5'> <span id='input_6_5_3_container' class='name_first' > <input type='text' name='input_5.3' id='input_6_5_3' value='' aria-required='true' placeholder='First Name' /> <label for='input_6_5_3' class='hidden_sub_label screen-reader-text'>First</label> </span> <span id='input_6_5_6_container' class='name_last' > <input type='text' name='input_5.6' id='input_6_5_6' value='' aria-required='true' placeholder='Last Name' /> <label for='input_6_5_6' class='hidden_sub_label screen-reader-text'>Last</label> </span> </div></fieldset><div id="field_6_7" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_6_7"><label class='gfield_label' for='input_6_7' >Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_7' id='input_6_7' type='text' value='' class='medium' placeholder='Email' aria-required="true" aria-invalid="false" /> </div></div></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_6' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_6"]){return false;} window["gf_submitting_6"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_6"]){return false;} window["gf_submitting_6"]=true; jQuery("#gform_6").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_6' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='6' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_6' value='WyJbXSIsIjg3ZWFlYzMwYzIzOTIyODdiYjFkMjkxYzE4MmE1MTg2Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_6' id='gform_target_page_number_6' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_6' id='gform_source_page_number_6' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_3" name="ak_js" value="98"/><script>document.getElementById( "ak_js_3" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>