black and white image of a fly fisherman casting on the Missouri River

Missouri River
Fly Fishing

The Missouri is a tailwater fishery that offers clear and consistent flows with trout populations around 5,000 fish per mile and intense mayfly, midge and caddis hatches. This tremendous river is a great alternative when our local rivers are high and off-color due to spring snowmelt. Anglers are greeted by grand Big Sky vistas that haven’t changed much from when Lewis and Clark first explored the drainage. The main target is rainbow trout from 16-22”, but the chance at a trophy brown trout is always a reality. We primarily fish the Missouri from April through June and again in the late Fall. Deep nymph fishing is most effective near Holter dam with excellent dry fly fishing opportunities further down the Missouri River.

  • Midges (#18-22)
  • Blue-Wing Olives (#18-20)

As water temps warm during March trout will begin feeding on afternoon midge hatches. By April Blue-wings will show up and offer consistently good dry fly fishing on calm days. When conditions are right we find large unpressured trout each Spring.

  • Midges (#18-22)
  • Blue-Wing Olives (#18-20)
  • Caddis (#14-18)
  • Skwalas (#8-10)

This is one of our best months for the Missouri. Blue-wings and Caddis are the main attraction especially if you like throwing small flies to oversized browns and rainbows. Some remarkable Skwala fishing can also be found on the lower Missouri below the mouth of the Dearborn.

  • Blue-Wing Olives (#18-20)
  • Caddis (#14-18)
  • Pale-morning Duns (#14-18)

The Blue-wings just don’t seem to quit on this river as they hatch through the early part of the month. PMD and Caddis hatches dominate the remaining action as the rivers rainbows look to gorge themselves after returning from their spring spawning runs.

  • Pale-morning Duns (#14-18)
  • Caddis (#14-18)
  • Tricos (#18-22)

This is small fly paradise. Some days the Trico hatches on the Mo are so thick you can barely see across the river. This is technical fishing at its best where anglers can test their skills under demanding conditions against wary trout.

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

Floating big hoppers down weed lines in late summer is always exciting. Watching a giant rainbow or brown sip a size 6 fly like a midge will have you giddy for weeks. Daily hatches of PMDs and Tricos keep the pods rising in between the amazing hopper fishing.

  • Grasshoppers (#6-10)
  • Tricos (#18-22)
  • Mahogany Duns (#14-16)
  • Blue-wing Olives (#18-20)

The Hopper and Trico fishing keep things interesting early in Sept., while the Mahoganies and Blue-wings offer some magical dry fly fishing later in the fall. The trout seem to become a little less wary as the temps fade, and feed heavily on the afternoon mayfly hatches.

Fish Our Favorites

Missouri 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_unknown 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/missouri-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="11"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityform id="6" title="false"]
<div class='gf_browser_unknown 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/missouri-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="23"/><script>document.getElementById( "ak_js_3" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>